2010-06-18 82 views
0

我想爲我的Windows移動設備獲取powerstate。如何向POWER_STATE_PASSWORD提供密碼?

的狀態是defined爲:

#define POWER_STATE(f)   ((f) & 0xFFFF0000) // power state mask 
#define POWER_STATE_ON   (DWORD)(0x00010000) // on state 
#define POWER_STATE_OFF   (DWORD)(0x00020000) // no power, full off 
#define POWER_STATE_CRITICAL  (DWORD)(0x00040000) // critical off 
#define POWER_STATE_BOOT   (DWORD)(0x00080000) // boot state 
#define POWER_STATE_IDLE   (DWORD)(0x00100000) // idle state 
#define POWER_STATE_SUSPEND  (DWORD)(0x00200000) // suspend state 
#define POWER_STATE_UNATTENDED (DWORD)(0x00400000) // Unattended state. 
#define POWER_STATE_RESET  (DWORD)(0x00800000) // reset state 
#define POWER_STATE_USERIDLE  (DWORD)(0x01000000) // user idle state 
#define POWER_STATE_BACKLIGHTON (DWORD)(0x02000000) // device scree backlight on 
#define POWER_STATE_PASSWORD  (DWORD)(0x10000000) // This state is password protected. 

我收到0x10010000。所以我設置了POWER_STATE_ON和POWER_STATE_PASSWORD。

當我的設備進入空閒狀態時(我正在使用RequestPowerNotifications來獲得該通知),我得到了這個。你可以看到我使用的示例here

既然它是空閒的,我相當確信有更多的信息,我沒有得到。

所以我的問題是「我怎樣才能提供密碼」?密碼是什麼? (我的代碼運行在我公司所擁有的Symbol/Motorola設備上,所以我應該可以獲得密碼,不管怎樣)

我正在使用C#,Visual Studio 2008和CF3.5。

任何幫助(在這個問題上)將是最有幫助的。

回答

1

我不確定你在問什麼。我的猜測是,當你嘗試再次使用它時,狀態會經歷一個超時,然後你會進入密碼界面。如果你沒有這個選項,那麼它可能沒有意義。

如果確實設置了密碼,那麼密碼是在控制面板中設置的密碼。

+0

重新閱讀後,我可以看到有點混亂,至於我在問什麼。我試圖抓住我的設備閒置時。我收到閒置時觸發的事件,但未設置空閒標誌。 (僅設置「開」和「密碼」)。由於密碼的註釋是狀態是密碼保護的,我假設我需要傳遞一個密碼來獲取完整狀態信息(包括需要的「空閒」標誌)。讀取你的評論聽起來就像這不是密碼的意思......如果它不是我所想的,那麼我需要做些什麼來獲得閒置狀態? – Vaccano 2010-06-19 05:18:50

+0

注意:我沒有在設備上設置任何密碼(如設備鎖定類的東西)。 – Vaccano 2010-06-19 05:20:22

+0

在找到關於如何檢測應用程序是否空閒的優秀文章後,我改變了我的方法(這正是我試圖完成的)。以下是未來搜索者的鏈接:http://blog.opennetcf.com/ctacke/2009/05/19/DetectingApplicationIdle.aspx – Vaccano 2010-06-21 19:59:42