2009-05-12 2 views

ответ

4
  • Вы можете получить вход/выход из системы уведомлений, используя различные механизмы (SENS, Уведомление SCM, если ваша программа является сервисом, уведомление Winlogon, если вы на XP)
  • Вы можете использовать WMI для перечисления активных сеансов.
  • Вы можете использовать WTS API для перечисления сеансов и получения информации о сеансе запроса.
+0

мне нужно обсудить точку WMI для перечисления активных сеансов указывают, что и уже упоминали. Как использовать его для оценки погоды, когда машина находится в состоянии выхода из системы или нет. Я использую следующий wmi-запрос для получения сеансов. SELECT * FROM Win32_LogonSession он возвращает мне 7 сеансов где там авторизовались только один пользователь. функция также LsaEnumerateLogonSessions() делает то же самое. –

+0

Некоторое испытание и ошибка с свойством LogonType сеансов должны позаботиться об этом. –

3

В AutoIt Я всегда обнаруживаю, что система вышла из системы, проверив активный дескриптор окна, если система зарегистрирована в активном дескрипторе окна, вернет 0x0000000. В AutoIt это будет выглядеть примерно так ...

If WinGetHandle("") == 0x00000000 Then MsgBox(0,"","We are logged out!") 

Надежда, что помогает ...

+0

да, это помогло. –

Смежные вопросы