专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WinCE

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

发布时间:2010-06-13 22:11:42 文章来源:www.iduyao.cn 采编人员:星星草
求助 远峰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
);
------解决方案--------------------
驱动需要支持
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: