Domanda

Come posso impedire l'accesso della macchina host standby modalità mentre la mia applicazione è in esecuzione?

C'è qualche win32 api chiamare per farlo?

È stato utile?

Soluzione

Sono disponibili due API, a seconda della versione di Windows.

XP,2000, 2003:

http://msdn.microsoft.com/en-us/library/aa373247(VS.85).aspx

Rispondi a PBT_APMQUERYSUSPEND.

Vista, 2008:

http://msdn.microsoft.com/en-us/library/aa373208(VS.85).aspx

Potrebbero esserci molti motivi validi per impedire al computer di andare in stop.Ad esempio, guardare un video, riprodurre musica, compilare una build di lunga durata, scaricare file di grandi dimensioni, ecc.

Altri suggerimenti

Questo articolo http://www.codeguru.com/cpp/w-p/system/messagehandling/article.php/c6907 fornisce una demo di come farlo da C++ (pensa che l'articolo sia strutturato come se volessi farlo da Java e fornisca un wrapper Java).

Il codice effettivo si trova in un file zip all'indirizzo http://www.codeguru.com/dbfiles/get_file/standbydetectdemo_src.zip?id=6907&lbl=STANDBYDETECTDEMO_SRC_ZIP&ds=20040406 e la parte C++ si trova in com/ha/common/windows/standbydetector.

Spero che ti dia una direzione sufficiente per iniziare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top