Получить состояние монитора
Привет, имеется Windows 10 и монитор, который отключается через 10 минут бездействия. Вопрос: как узнать его состояние через CMD?
|
greg zakharov |
10-09-2017 21:19 2763980 |
Как подсказывает капитан очевидность, определить состояние монитора, если оный отключается через десять минут бездействия, можно по отсутствию на нем какого-либо изображения, - никакой командной строки не нужно. Если же речь все таки о неком компе в сети, здесь прямо-таки россыпь WMI классов, выводящих различного рода информацию. Например, Win32_DesktopMonitor, но соль в том, что его свойство Availability равное 8 вовсе не означает, что монитор действительно находится offline, вполне возможно что монитор просто переведен в режим пониженного энергопотребления как это можно делать на лэптопах.
Код:
for /f "tokens=2 delims==" %%i in (
'wmic /namespace:\\root\cimv2 path Win32_DesktopMonitor get Availability /value'
) do set "ms=%%i"
Другой класс - WmiMonitorID.
Код:
for /f "tokens=2 delims==" %%i in (
'wmic /namespace:\\root\wmi path WmiMonitorID get Active /value'
) do set "ms=%%i"
И так далее.
|
Я бы лучше задал на этой машине запуск скринсейвера, и проверял его наличие в процессах.
|
Я такое временное решение придумал: монитор отключается вместе с блокировкой учетки, в планировщике делаем два задания, один на блокировку, другой на разблокировку - профит!
|
greg zakharov |
11-09-2017 10:52 2764029 |
Цитата:
Цитата Iska
Я бы лучше задал на этой машине запуск скринсейвера, и проверял его наличие в процессах.
|
Ничто не мешает в системе создать псевдоскринсейвер, то есть в процессах есть нечто одноименное и не вызывающее подозрений у админа, а между тем по факту монитор будет использоваться. Что здесь прикажете делать? Скажете, дескать, такого быть не может или что по свойствам процесса можно установить его легитимность?! - а вот ничего подобного. Если говорить об однозначном значении состояния монитора, лучше использовать машинные команды в PowerShell, а в идеале и вовсе асм.
|
Цитата:
Цитата greg zakharov
Что здесь прикажете делать? »
|
Не страдать.
|
Цитата:
Цитата ganzales
отключается через 10 минут бездействия. Вопрос: как узнать его состояние через CMD? »
|
Узнать, сколько времени не используется компьютер. Не?
|
Use PowerShell to Discover Multi-Monitor Information
Цитата:
There is a cool WMI class on my laptop running Windows 8 (I’m not sure if it exists on Windows 7 devices). It is in the Root\WMI namespace. The class is WmiMonitorBasicDisplayParams, and it tells me if a display is active.
|
|
Время: 22:51.
© OSzone.net 2001-