|
各位大虾好,
我最近需要编程让系统进入UserIdle,SystemIdle和Suspend状态。
我的做法是:
1, 分别设置useridle, systemidle, suspend 的timeout时间
2, 将获取到的时间(以秒为单位)写到注册表HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Power\\Timeouts下的ACSuspend, ACSystrmIdle, ACUserIdle下(电源供电)。
3, 利用下面代码通知内核重新加载timeout时间:
HANDLE hevReloadActivityTimeouts = OpenEvent(EVENT_ALL_ACCESS, FALSE, _T("PowerManager/ReloadActivityTimeouts"));
if (hevReloadActivityTimeouts)
{
SetEvent(hevReloadActivityTimeouts);
CloseHandle(hevReloadActivityTimeouts);
}
问题:
问题是系统可以在设定的useridle timeout时间进入useridle,也可以在设定的systemidle时间内进入systemidle状态,但是不会在设定的suspend timeout时间(非0值)之后进入suspend状态。
哪位高手做过类似的,请指点一二,无限感激!!!
PS:以上采用的是wince6, Samsung6410
|
|