Я хотел бы, чтобы мой компьютер автоматически спал, когда я выключал телевизор. Как это можно сделать? Я также хотел бы, чтобы htpc включался при включении телевизора, если это возможно
Компьютер - Windows 8.1 Gigabyte B85 GTX 650
Расширяя комментарий Келтари, следующие циклы VBScript и каждую секунду сообщает, включен ли экран.
Do
WScript.Sleep 1000
WScript.Echo "Screen is on = " & ScreenOn
Loop
Function ScreenOn()
Dim objWMIService, colItems, objItem
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor",,48)
ScreenOn = False
For Each objItem in colItems
If objItem.Availability = 3 Then
ScreenOn = True
Exit For
End If
Next
On Error Goto 0
End Function
Вы должны сохранить его (например, как screenstatus.vbs
) и запустить его из командной строки, используя cscript screenstatus.vbs
).
Если все идет хорошо, то "True" будет отображаться каждую секунду, а когда вы выключите экран, он переключится на "False". Вам, очевидно, нужно будет включить экран, чтобы проверить это дважды!
Предполагая, что все идет хорошо, вы можете изменить цикл вверху на что-то вроде:
If ScreenOn() = False Then
' Call command here to sleep computer
End If
а затем запланируйте выполнение сценария на регулярной основе (например, каждые 15 минут).
Ваша машина не сразу перейдет в спящий режим, но выключится при следующем запуске скрипта (который, как я привел в примере, будет через 15 минут).
Это на самом деле должно быть возможно с некоторыми сценариями или кодированием.
Существует класс WMI Win32_DesktopMonitor , свойство которого называется «Доступность».
Свойство доступности отображает 17 возможных состояний, в которых может находиться монитор. Возможно, вы захотите проверить значение 0x03 (работает или на полную мощность). Однако вам придется поиграть с возвращаемыми значениями с вашего телевизора, чтобы увидеть, что лучше.
Можно написать сценарий или программу для запуска с выбранной вами частотой, определения состояния телевизора, а затем отправки команды спящего режима в ОС, если она обнаружит, что телевизор выключен.