SystemEvents и выход из сна

Представьте, что я создавал приложение, которое измеряло, как долго определенный пользователь вошел в систему на компьютере (само приложение, которое я пишу, отличается, но это не имеет значения).

Мне нужно отслеживать, когда пользователь входит в систему, выходит из системы, когда он приостанавливает работу компьютера ("режим ожидания" в меню "Выключение") и когда компьютер выходит из спящего режима.

я использую SystemEvents (В частности, PowerModeChanged а также SessionSwitch события) для этого, и это в основном работает, за одним исключением:

Когда компьютер приостановлен, PowerModeChanged событие корректно генерируется с помощью режима Suspend,

Когда компьютер возобновляет работу, PowerModeChanged поднимается с режимом Resume, Все идет нормально.

Сразу после этого SessionSwitch событие вызвано причиной SessionLock, Но когда я в конечном итоге войти в систему после резюме, нет SessionUnlock,

Такое поведение происходит в Windows XP, и мне нужно, чтобы это работало корректно в XP, Vista и 7.

Есть ли способ, как получить эту разблокировку?

1 ответ

Решение

Оказывается, в одном из моих обработчиков было неисследованное исключение. По-видимому, это остановило последующие события от стрельбы.

Другие вопросы по тегам