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

913
Jean

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

rundll32.exe user32.dll,LockWorkStation

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

0

2 ответа на вопрос

2
TechLife

I dont see anyway to achieve this in win7 or later by using the rundll32, but you can use an external app called nircmd.

To turn monitor off:

nircmd.exe monitor off 

To turn monitor on:

nircmd.exe monitor on 

You can put this in a bat file and make a shortcut of it.
You could also use a tool called WIZMO and use this in the command-line:

wizmo.exe monoff 
1
Andy T

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

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

Похожие вопросы