| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Определяем неактивность пользователя |
| Автор: Darkmaster 10.9.2010, 12:09 | ||
Возникла проблема. Пытаюсь определить, как долго пользователь уже не пользуется системой (мышью, клавиатурой). Для этого использую следующий код:
Еще есть таймер, срабатывающий каждые 100 миллисекунд. Он в свое очередь получает значение этой функции и выводит его в Label. В интернете во всех статьях по этой теме приводят данный код. Вот только одна беда - хотя я в своих проверках не нажимаю никаких клавиш и не трогаю мышь, тем не менее, у меня всегда получается ситуация как будто система активна. Т.е. функция возвращает значение 0. В чем проблема? Может кто-то уже сталкивался с этим. |
| Автор: CYBERDREAM 10.9.2010, 12:48 | ||
Работает на ура, не знаю в чем беда
|
| Автор: Darkmaster 10.9.2010, 13:17 | ||
Даже попробовал полностью скопипастить ваш код. Та же история. Все время выдает "активно". Ума не приложу в чем проблема. Перерыл уже массу зарубежных ресурсов - у всех все работает. Странно. |
| Автор: CYBERDREAM 10.9.2010, 13:21 |
| как вариант отруби мышку и клавиатуру после запуска)) Может что то у тебя влияет на активность, не спроста ведь такая нехорошесть |
| Автор: Darkmaster 10.9.2010, 13:58 | ||
Да пробовал. И софт отрубал почти весь. Никакого эффекта не принесло... |
| Автор: WolfAlone 10.9.2010, 14:51 |
| Не могу сказать точно, но когда-то очень давно я делал нечто подобное ещё на Basic или Delphi. Я конечно могу ошибаться, но должна быть какая-то готовая API-функция, так как заставке же включается опираясь как раз на время не активности пользователя! |
| Автор: Darkmaster 10.9.2010, 15:00 | ||
Ну, собственно, мной приведенная функция и есть она. Везде о ней в сети пишут. Вот у CyberDream работает - у меня нет. Я еще одному человеку скидывал программку - у него работает. Теперь просто интересно узнать причину - а почему может не работать? |
| Автор: WolfAlone 10.9.2010, 15:00 |
| http://msdn.microsoft.com/en-us/library/ms646302%28VS.85%29.aspx - вот тут описана эта функция. Добавлено через 3 минуты и 41 секунду Darkmaster, попробуйте, настроить систему на включение заставки через 1мин., включиться ли она? Возможно, в системе что-либо слетела, некая DLL-ка заменилась/повредилась, из за чего функция ведет себя не корректно, вариантов в принципе масса... Ещё возможно по тому, что это Windows... P.S. Я вот например сейчас сижу под Windows 7 и не могу понять, почему на достаточно мощном компьютере 4х3Ггц + 8Гб ОЗУ тормозит FireFox? |