Windows Mobile桌面上的电池图标有时会更新的太慢,我们知道可以用
hevent = CreateEvent(NULL, FALSE, FALSE, TEXT("SSUpdatePower"));
SetEvent(hevent);
CloseHandle(hevent);
来强制shell去更新电池状态。可是你会发现即时这样做,有时还是达不到目的。
为什么?
shell必然是调用GetSystemPowerStatusEx或GetSystemPowerStatusEx2来询问电池状态,这两个函数都用一个共同的参数BOOL fUpdate,据我了解到,shell正是传了FALSE进这个函数,结果导致,读到的是battery驱动中cache的信息,因此会表现出反应慢。
那么我们可以在battery驱动中强制调用GetSystemPowerStatusEx(TRUE),来达到目的
1 条评论:
人才!
发表评论