Вы можете использовать Звонок WinAPI SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
, где HWND_BROADCAST = 0xFFFF
, WM_SYSCOMMAND = 0x0112
и SC_MONITORPOWER = 0xF170
. 2
означает, что дисплей отключается.
Есть несколько способов сделать вызов:
Separate executable. Вы можете запустить его через скрипт, командную строку, Run Window, ярлык (*.lnk
) и т.д. Обратите внимание, что горячие клавиши могут быть вызваны с помощью сочетания клавиш . Исполняемый файл может быть написан на C или C++, или через P/Invoke на .NET языках (C# или PowerShell ), или на многих других языках, которые имеют интерфейс иностранного языка (например, JNI на Java).
AutoHotkey script . Для непрограммиста этот способ, вероятно, проще. Для создания настроек все еще требуется некоторый скриптинг. Этот скрипт выключает монитор на Win + M:
Обратите внимание на тайм-аут перед вызовом SendMessage
в скрипте AutoHotkey. Это дает пользователю возможность освободить ключи (в случае, если их освобождение будет просыпаться монитор снова). Не забывайте об этом даже при выполнении вызова из скрипта на другом языке.
Дополнительную информацию см. в документации к функциям SendMessage
, WM_SYSCOMMAND
message и AutoHotkey SendMessage
. Может быть интересно, что начиная с Windows 8, использование того же метода для включения монитора не работает, но есть обходной путь.