Гасим монитор при помощи ярлыка...
Вообщем предыстория проста... Купил я себе очередной новый игровой монитор, старый, но не очень, отдал Сыну. А беговых дел прибавилось. В итоге часто стал отбегать от компа, а моник то включен! Конечно же выставлен период отключения, но он - не панацея... Он же не знает (умный БГ) на сколько я отбегаю... Стал выключать кнопкой выключения питания монитора... Беда... Вообщем - великий Гугл мне в помощь...
Решил я отключать монитор при помощи ярлыка с рабочего стола, нет вопросов...
Тык мык, и решение быстро найдено:
Создаём такой ярлык - и с моим монитором на Вин 10 всё работает отлично:
C:\Windows\System32\cmd.exe /c powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int PostMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::PostMessage(-1,0x0112,0xF170,2)
Не писал бы пост, если бы в 99% в Интернете не предлагали следующее:
C:\Windows\System32\cmd.exe /c powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int
SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)
Разница проста:
SendMessage дожидается обработки сообщения и возвращает результат, а PostMessage просто кладет сообщение в очередь и совершенно не заботится о том, что произойдет дальше.
Пользуясь вторым решением - которое массово ходит по Интернету, приходится закрывать окно запуска вручную, при первом варианте - всё работает корректно!
Ни на что не претендую. С моим оборудванием всё работает на ура! Со своим - пробуйте аккуратно, пока вникал в тему - понял, что работает не на всех мониторах, а так же для достижения данного эффекта есть куча прекрасных утилит!
Удачи!