CMD/BAT - Получить состояние монитора
-
ganzales
CMD/BAT - Получить состояние монитора
Привет, имеется Windows 10 и монитор, который отключается через 10 минут бездействия. Вопрос: как узнать его состояние через CMD?
-
ganzales
Re: CMD/BAT - Получить состояние монитора
Как подсказывает капитан очевидность, определить состояние монитора, если оный отключается через десять минут бездействия, можно по отсутствию на нем какого-либо изображения, - никакой командной строки не нужно. Если же речь все таки о неком компе в сети, здесь прямо-таки россыпь WMI классов, выводящих различного рода информацию. Например, Win32_DesktopMonitor, но соль в том, что его свойство Availability равное 8 вовсе не означает, что монитор действительно находится offline, вполне возможно что монитор просто переведен в режим пониженного энергопотребления как это можно делать на лэптопах.
Код:
Другой класс - WmiMonitorID.
Код:
И так далее.
Код:
Код: Выделить всё
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"И так далее.
-
Iska
Re: CMD/BAT - Получить состояние монитора
Я бы лучше задал на этой машине запуск скринсейвера, и проверял его наличие в процессах.
-
Iska
Re: CMD/BAT - Получить состояние монитора
Я такое временное решение придумал: монитор отключается вместе с блокировкой учетки, в планировщике делаем два задания, один на блокировку, другой на разблокировку - профит!
-
ganzales
Re: CMD/BAT - Получить состояние монитора
Цитата Iska:
Я бы лучше задал на этой машине запуск скринсейвера, и проверял его наличие в процессах.
Ничто не мешает в системе создать псевдоскринсейвер, то есть в процессах есть нечто одноименное и не вызывающее подозрений у админа, а между тем по факту монитор будет использоваться. Что здесь прикажете делать? Скажете, дескать, такого быть не может или что по свойствам процесса можно установить его легитимность?! - а вот ничего подобного. Если говорить об однозначном значении состояния монитора, лучше использовать машинные команды в PowerShell, а в идеале и вовсе асм.
Я бы лучше задал на этой машине запуск скринсейвера, и проверял его наличие в процессах.
Ничто не мешает в системе создать псевдоскринсейвер, то есть в процессах есть нечто одноименное и не вызывающее подозрений у админа, а между тем по факту монитор будет использоваться. Что здесь прикажете делать? Скажете, дескать, такого быть не может или что по свойствам процесса можно установить его легитимность?! - а вот ничего подобного. Если говорить об однозначном значении состояния монитора, лучше использовать машинные команды в PowerShell, а в идеале и вовсе асм.
-
Iska
Re: CMD/BAT - Получить состояние монитора
Цитата greg zakharov:
Что здесь прикажете делать?
Не страдать.
Что здесь прикажете делать?
CMD/BAT - Получить состояние монитора
Не страдать.
-
mwz
Re: CMD/BAT - Получить состояние монитора
Цитата ganzales:
отключается через 10 минут бездействия. Вопрос: как узнать его состояние через CMD?
Узнать, сколько времени не используется компьютер. Не?
отключается через 10 минут бездействия. Вопрос: как узнать его состояние через CMD?
CMD/BAT - Получить состояние монитора
Узнать, сколько времени не используется компьютер. Не?
-
Казбек
Re: CMD/BAT - Получить состояние монитора
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.