2009-09-28 65 views
5

我希望能夠以編程方式確定Vista系統出於待機狀態(S3)的原因。任何語言都可以,但.NET是最好的。我正在將這些代碼放入我正在處理的應用程序中。我怎樣才能確定機器出於暫停的原因?

我正在尋找像「媒體中心想記錄一個程序」,「用戶輸入喚醒機器」,「Windows更新計劃運行」之類的原因。我在Google,Bing和MSDN上搜索過,但我只能找到與Windows Mobile相關的東西。

任何人都可以指向一個可以提供此信息的函數或對象嗎?

+0

所以,你要將其嵌入到您正在編寫的程序中,還是僅僅需要一個能夠爲您提供此信息的實用程序? – Argalatyr 2009-09-28 22:59:02

+0

我懷疑你可以根據自己的喜好獲得具體的信息。儘管如此,您可能能夠從系統日誌中獲取導致掛起發生的模塊的名稱。 – 2009-09-28 23:05:36

回答

1

的頂層窗口醒來的時候得到了WM_POWERBROADCAST消息,但你只能知道它是自動的(媒體中心,Windows更新等)或用戶(按電源按鈕等)

+0

這可能夠好。如果系統日誌中出現了某種情況,它可能會發生什麼,那麼我認爲我可以一起破解一些東西。 – 2009-09-29 13:37:14