Voglio impedire al monitor di andare a dormire (l'impostazione di Windows, non l'impostazione del monitor). Sto usando C++. Che chiamata faccio?Quale riga di codice potrei usare in C++ per disabilitare il risparmio energetico?
risposta
class KeepDisplayOn
{
public:
KeepDisplayOn()
{
mPrevExecState = ::SetThreadExecutionState(ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED | ES_CONTINUOUS);
::SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, &mPrevScreenSaver, 0);
::SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, FALSE, NULL, 0);
}
~KeepDisplayOn()
{
::SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, mPrevScreenSaver, NULL, 0);
::SetThreadExecutionState(mPrevExecState);
}
private:
UINT mPrevScreenSaver;
EXECUTION_STATE mPrevExecState;
};
SetThreadExecutionState(ES_DISPLAY_REQUIRED|ES_CONTINUOUS);
Questo lavoro dovrebbe funzionare? –
Al contrario di non lavorare? Questo è ciò che MSDN consiglia. – MSN
Un modo più semplice che non modifica lo stato del sistema globale come la prima risposta fa:
Nella vostra window procedure, aggiungere un gestore per WM_SYSCOMMAND
. Quando wParam è SC_MONITORPOWER
, restituire 0 invece di posticipare a DefWindowProc
. (Quando wParam è qualsiasi altro valore, assicurati di gestire il messaggio o di passarlo a DefWindowProc
. Altrimenti l'utente avrà difficoltà a regolare la finestra in fase di esecuzione.)
Questo funziona solo per la finestra in primo piano – Anders
Wiggle the mouse ogni minuto circa.
mouse_event(MOUSEEVENTF_MOVE,1,0,0,0);
mouse_event(MOUSEEVENTF_MOVE,-1,0,0,0);
Sleep(60000);
- 1. Come posso forzare il monitor in modalità risparmio energetico immediatamente in C#?
- 2. C++ leggi testo riga per riga, risparmio velocità/efficienza necessari
- 3. Possiamo ottimizzare il codice per ridurre il consumo energetico?
- 4. Il blocco WiFi non funziona, come impedire il risparmio energetico wifi?
- 5. Riga per riga c - C++ codice debugging in ubuntu Linux
- 6. Potrei scrivere meglio questo codice?
- 7. Quale condizionale del preprocessore C dovrei usare per il codice specifico di OS X?
- 8. risparmio codice di ritorno e il ritorno in bash
- 9. Quale tipo usare per una variabile di timeout in C++?
- 10. Come potrei usare GIL per un dizionario in un'applicazione multithread?
- 11. scopri se la modalità di risparmio energetico è abilitata - Android SDK
- 12. Potrei contenere il nome il permesso nel codice di esempio
- 13. Cmake to autogenerate codice risparmio
- 14. Come determinare quale compilatore C/C++ usare?
- 15. Unicode multipiattaforma in C/C++: quale codifica usare?
- 16. Come potrei indentare il pragma C++ usando il formato clang?
- 17. Quale macro per incapsulare il codice specifico di Mac OS X in C/C++
- 18. C++ in meno di sovraccarico dell'operatore, quale modo di usare?
- 19. limiti Disabilitare il controllo per C++ vettori
- 20. annotazioni SAL, quale usare?
- 21. Quale db NoSQL usare con C?
- 22. Quale D compilatore usare?
- 23. Quale nome dovrei usare per il nome dell'eccezione di NSException, in Objective-C?
- 24. Migliorare il file di lettura di C++ riga per riga?
- 25. Quale codice HTTP restituire per il protocollo errato
- 26. Quale metodo posso usare al posto di __file__ in python?
- 27. Consumo energetico app Android
- 28. Ottieni piani di risparmio energia/schemi in C# (utilizzando WinAPI)
- 29. Come posso profilare il codice Python riga per riga?
- 30. Quale CursorAdapter devo usare?
piacevole uso di RAII –
Ma impostazione dello screen saver time out non è necessario una volta impostato lo stato di esecuzione thread per ES_DISPLAY_REQUIRED. Cosa succede se l'utente desidera modificare le impostazioni dello screen saver mentre l'applicazione è in esecuzione? – macbirdie