Я хотел бы, чтобы мой компьютер автоматически спал, когда я выключал телевизор. Как это можно сделать? Я также хотел бы, чтобы htpc включался при включении телевизора, если это возможно

Компьютер - Windows 8.1 Gigabyte B85 GTX 650

2 ответа2

0

Расширяя комментарий Келтари, следующие циклы 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 минут).

0

Это на самом деле должно быть возможно с некоторыми сценариями или кодированием.

Существует класс WMI Win32_DesktopMonitor , свойство которого называется «Доступность».

Свойство доступности отображает 17 возможных состояний, в которых может находиться монитор. Возможно, вы захотите проверить значение 0x03 (работает или на полную мощность). Однако вам придется поиграть с возвращаемыми значениями с вашего телевизора, чтобы увидеть, что лучше.

Можно написать сценарий или программу для запуска с выбранной вами частотой, определения состояния телевизора, а затем отправки команды спящего режима в ОС, если она обнаружит, что телевизор выключен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .