首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

远峰GPS方案 休眠,关机,重启

2012-03-09 
求助 远峰GPS方案 休眠,关机,重启,如题,在机器上长按电源键是可以 实现 关机 和 休眠 操作的自己做个小软

求助 远峰GPS方案 休眠,关机,重启,
如题,在机器上长按电源键是可以 实现 关机 和 休眠 操作的

自己做个小软件,想要在代码中实现 关机,休眠,重启 功能

从网上找了些代码。休眠和重启是实现了,关机貌似很复杂的样子,也没实现。求帮助。

休眠

C/C++ code
g_hcoreDll = LoadLibrary(_T("coredll.dll"));if(g_hcoreDll){    GwesPowerOffSystemEx = (_GwesPowerOffSystem)GetProcAddress(g_hcoreDll,_T("GwesPowerOffSystem"));    GwesPowerOffSystemEx();}


重启 先引入 #include <winioctl.h>
C/C++ code
KernelIoControl(IOCTL_HAL_REBOOT,NULL,0,NULL,0,NULL);


关机,我看都网上都建议使用 SetSystemPowerState 然后需要 OEM支持
但是 根本没有 POWER_STATE_OFF 参数 啊,

请问该怎么实现,最后能解释下原理。谢谢



[解决办法]
除非他的驱动支持,不然别想做了。
[解决办法]
探讨
忘了。重启操作,引入winioctl.h后,还得定义一个宏,才能使用。
#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL,15,METHOD_BUFFERED,FILE_ANY_ACCESS)
这个我也不知道为什么。求解

[解决办法]
关机:SetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE);
驱动支不支持,可以问下厂家吧。
[解决办法]
import the dll head
[解决办法]
探讨

POWER_STATE_OFF, POWER_FORCE 要引入那个头文件才可以呢

[解决办法]
哥来帮你解决一下: 
BOOL SystemPowerOff(void)
{
HANDLE hRep = CreateEvent(NULL, FALSE, FALSE, _T("__PowerOffRepEvent__"));
if(!hRep)
return FALSE;

SetEventData(hRep, 1);
Sleep(1);
SetEvent(hRep);

Sleep(2);
CloseHandle(hRep);

return TRUE;
}
[解决办法]
这个是WinCE的标准接口啊,声明一下。
extern "C"
BOOL SetEventData( 
HANDLE hEvent,
DWORD dwData
);
[解决办法]
驱动需要支持

热点排行