2009-09-28 10 views
5

Mi piacerebbe essere in grado di determinare, a livello di programmazione, perché un sistema Vista è uscito dallo standby (S3). Qualsiasi linguaggio va bene, anche se uno .NET sarebbe il migliore. Sto cercando di inserire questo codice in un'applicazione a cui sto lavorando.Come posso determinare il motivo per cui la macchina è uscita dalla sospensione?

Sto cercando ragioni come "Media center voleva registrare un programma," "input utente ha svegliato la macchina," "l'aggiornamento di Windows è programmato per funzionare", cose del genere. Ho cercato su Google, Bing e MSDN, ma ho potuto trovare solo le cose rilevanti per Windows Mobile.

Qualcuno può indicarmi una funzione o un oggetto in grado di fornire queste informazioni?

+0

modo, si vuole incorporalo in un programma che stai scrivendo o vuoi semplicemente un programma che ti fornisca queste informazioni? – Argalatyr

+0

Dubito che sarai in grado di ottenere informazioni specifiche come desideri. Potresti essere in grado di ottenere il nome del modulo che ha causato il verificarsi della sospensione dal registro di sistema. –

risposta

1

una finestra di livello superiore ottiene un messaggio WM_POWERBROADCAST al risveglio, ma si può dire solo se era automatico (Media center, Windows Update, ecc) o il (pulsante di accensione Premendo ecc) utente

+0

che potrebbe essere abbastanza buono. se qualcosa viene fuori nel registro di sistema a riguardo, cosa che probabilmente fa, allora penso di poter hackerare qualcosa insieme. –