Я хочу иметь возможность запрашивать, простаивает ли текущий пользователь, вошедший в систему, на своем ПК - т.е. их ПК считает, что они «неактивны» ... Проблема в том, что существует множество способов сделать это. Есть ли универсальное: «ЭТОТ КОМПЬЮТЕР ПРОСТОЙ / НЕАКТИВНЫЙ» - я подумываю использовать любую меру, которую использует подсистема питания ...
Я думал использовать WMI / Powershell, но я мог бы также использовать вызов .NET на C # - я бы просто не стал!
Извините, что немного расплывчато об этом, и я более чем счастлив, что кто-нибудь изменит мой вопрос на что-то более значимое!
Майк
Если вы хотите взломать его и искать заставку, чтобы определить отсутствие активности, вы также можете использовать PowerShell, чтобы узнать, неактивен ли сеанс (т.е. компьютер заблокирован):
QUERY SESSION /server:MachineName UserName
он использует интерфейс терминальных служб, чтобы узнать, подключен ли пользователь к сеансу. Это работает, потому что в современных версиях Windows все локальные пользователи рассматриваются как консольные сеансы компьютера. Есть два статуса, представляющих интерес:
Поскольку он основан на старой функциональности qwinsta, а не является полностью объектно-ориентированным, вам нужно будет выполнить некоторые манипуляции со строкой, если вы хотите получить из него логическое значение (например, -содержит «Активный»).
Чтобы получить точную цифру (и какие именно заставки обычно управляются) посмотрите на LastInputInfo () Вызов API Win32, но вам нужно запустить его в контексте пользователя, что обычно является нарушением сделки, если вам нужен удаленный мониторинг. Вот статья MSDN: http://msdn.microsoft.com/en-us/library/ms646302(VS.85).aspx
Нет, это простой ответ.
Раньше я использовал WMI для вывода списка запущенных процессов и искал заставку. Если хранитель экрана запущен, они в определенном смысле неактивны, хотя вы все равно не можете сказать, оставили ли они запущенное приложение. Вы можете проверить такие вещи, как работоспособность процессора и / или диска, но получить от них однозначный ответ сложно.
JR