3
我有一個windows mobile 5程序(compact framework 3.5),我需要能夠檢測到設備空閒時的情況。檢查Windows Mobile設備是否空閒
現在我只是檢查背光是否關閉。就像這樣:
[DllImport("coredll.dll", EntryPoint = "sleep", SetLastError = true)]
internal static extern void sleep(int dwMilliseconds);
....
//Get the current power state of the system
int winError = CoreDLL.GetSystemPowerState(systemStateName, out systemPowerStates);
if (winError == 0)
{
//If the backlight is off, consider the state to be idle.
if (systemStateName.ToString() == "backlightoff")
{
idle = true;
}
}
我想,這可能會越來越接近,但我想知道,如果是真正不使用的設備。
這很好。 (它沒有解決我的問題,但它的工作。)我想我將不得不去POWER_STATE_USERIDLE(0x01000000)。但是,經過很長的空閒時間後,我得到0x02000000,這在pm.h中沒有定義。 – Vaccano 2010-06-08 17:40:47
我仍然堅持這一點。我使用了您指定的方法,但POWER_STATE_IDLE從未設置。那是因爲我們使用定時器來檢查電源狀態是否空閒?這是否阻止它進入閒置狀態?如果是這樣,如果檢查導致它不閒置,你怎麼能做到這一點? (一旦你檢查你是否失去了閒置狀態。) – Vaccano 2010-06-14 20:57:49
甜!謝謝。我會試試看。 – Vaccano 2010-06-14 21:50:42