Ik heb een snelkoppeling voor rundll32.exe powrprof.dll,SetSuspendState 0,1,0
gemaakt (ook geprobeerd met 0,0,0), maar het uitvoeren van de snelkoppeling leek mijn PC in winterslaap te brengen. Ik kon de PC niet wakker maken met het toetsenbord; ik moest op de aan/uit-knop drukken, en de PC toonde de berichten op het moederbord, etc.
Na het lezen van het Windows API document , heb ik een zeer eenvoudig programma gemaakt met slechts 3 regels typen. Ik heb de executable die ik heb gecompileerd geüpload naar deze pagina (klik op de “SleepTest.exe”) , maar dit bestand kon na een tijdje worden verwijderd (dit is een gratis file hosting site die ik net heb gevonden door een snelle Google-zoekopdracht).
Als je me niet vertrouwt (wat helemaal prima is) of het bestand is verwijderd, kun je de code natuurlijk zelf compileren. Je moet “PowrProf.lib” toevoegen aan de extra afhankelijkheden van de Linker.
#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.
int main()
{
SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
return 0;
}
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
lijkt hetzelfde te doen, maar op de een of andere manier heeft het bovenstaande programma de computer niet in slaapstand gezet. Ik kon de PC direct wakker maken (geen berichten op het moederbord, etc.) door op een willekeurige toets op het toetsenbord te drukken.