Как отключить монитор с помощью точек входа в DLL окон?

Насколько вы знаете, мы можем вызывать точки входа Windows7 DLL через rundll32 <dll-file>,<Entry point> в командной строке. Например, я блокирую свой экран, используя следующую команду в командной строке Windows:

rundll32.exe user32.dll,LockWorkStation

Теперь я хочу знать, есть ли способ выключить мой монитор таким образом? т.е. есть ли точка входа, которую я могу вызвать в CMD и выключить монитор?

2 ответа

В любом случае, я не вижу возможности добиться этого в win7 или более поздней версии с помощью rundll32, но вы можете использовать внешнее приложение под названием nircmd.

Чтобы выключить монитор:

nircmd.exe monitor off

Чтобы включить монитор:

nircmd.exe monitor on

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

wizmo.exe monoff

В командной строке / или в виде файла.bat/ .cmd / .com: 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)

Как прямая команда powershell, вы можете удалить директиву escapes и powershell (и сохранить ее как файл ps1). (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)

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

Другие вопросы по тегам