U kunt gebruik maken van WinAPI call SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
waar HWND_BROADCAST = 0xFFFF
, WM_SYSCOMMAND = 0x0112
en SC_MONITORPOWER = 0xF170
. De 2
betekent dat het scherm wordt uitgeschakeld.
Er zijn verschillende manieren om de oproep te doen:
Separate executable. U kunt het via een script, opdrachtregel, Run-venster, snelkoppeling (*.lnk
), etc. ontslaan. Merk op dat snelkoppelingen kunnen worden aangeroepen met behulp van een toetsenbordcombinatie . Het uitvoerbare bestand kan worden geschreven in C of C++, of via P/Invoke in .NET-talen (C# of PowerShell ), of in veel andere talen die een interface in een vreemde taal hebben (bijvoorbeeld JNI in Java).
AutoHotkey script . Voor een niet-programmeur is deze manier waarschijnlijk eenvoudiger. Voor het maken van aanpassingen is nog steeds enige scripting nodig. Dit script schakelt de monitor uit op Win + M:
Noteer de time-out voor de SendMessage
call in het AutoHotkey script. Het geeft de gebruiker de kans om toetsen vrij te geven (voor het geval dat deze de monitor weer wakker zou maken). Vergeet dit niet, zelfs wanneer u belt vanuit een script in een andere taal.
Zie voor meer informatie de documentatie van SendMessage
functie , WM_SYSCOMMAND
bericht en AutoHotkey SendMessage
.aspx). Het kan interessant zijn dat sinds Windows 8, het gebruik van dezelfde methode om het beeldscherm in te schakelen, niet werkt, maar er is een oplossing voor dit probleem.