65

Есть ли способ выключить дисплей в Windows (7), желательно без использования дополнительного программного обеспечения?

Скрипт Powershell работает нормально, но после включения дисплея покидает окно командной строки.

3 ответа3

40

На ноутбуке вы можете использовать сочетание клавиш Fn+F7 (F7 может отличаться в зависимости от модели ноутбука), а для настольного компьютера вы всегда можете использовать кнопку питания.

Вам нужны какие-то другие характеристики, такие как пробуждение от движения мыши или что-то еще?

Вы всегда можете создать ярлык и назначить сочетание клавиш для черной заставки, используйте этот путь:

%systemroot%\system32\scrnsave.scr /s

Это не выключит экран, но сделает его полностью черным

31

Еще пара вариантов:

  • Turn Off LCD - просто поместите исполняемый файл на рабочий стол
  • NirCmd - вам нужно скопировать nircmd.exe в системный каталог Windows или добавить его местоположение в переменную среды PATH. Затем просто запустите nircmd monitor off из командной строки. Более подробная информация по ссылке.
25

Вы можете использовать вызов WinAPI SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2) где HWND_BROADCAST = 0xFFFF , WM_SYSCOMMAND = 0x0112 и SC_MONITORPOWER = 0xF170 . 2 означает, что дисплей отключен.

Есть несколько способов сделать звонок:

  • Отдельный исполняемый файл. Вы можете запустить его через скрипт, командную строку, окно запуска, ярлык (*.lnk) и т.д. Обратите внимание, что ярлыки можно вызывать с помощью сочетания клавиш. Исполняемый файл может быть написан на C или C++ или через P/Invoke на языках .NET (C # или PowerShell) или на многих других языках, имеющих интерфейс на иностранном языке (например, JNI в Java).

  • Скрипт AutoHotkey. Для непрограммиста этот способ, вероятно, проще. Создание настроек все еще требует некоторых сценариев. Этот скрипт отключает монитор на Win + M:

    #m::
    Sleep 1000
    SendMessage, 0x112, 0xF170, 2,, Program Manager
    return
    

Запишите время ожидания перед вызовом SendMessage в скрипте AutoHotkey. Это дает пользователю возможность отпускать ключи (в случае, если их отпускание снова разбудит монитор). Не забывайте об этом даже при совершении звонка из сценария на другом языке.

Для получения дополнительной информации см. Документацию функции SendMessage, сообщения WM_SYSCOMMAND и AutoHotkey SendMessage. Может быть интересно, что, поскольку Windows 8, использование того же метода для включения монитора не работает, но есть обходной путь.

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