本文地址:http://blog.csdn.net/autophyte/archive/2008/11/06/3240975.aspx
1. 关机
/*
模拟power键按下实现关机,因为关机以后应用程序处理器将会断电,所以关机以后,无法通过此种方式重新开机。
*/
void SuspendWinCE()
{
::keybd_event(VK_OFF, 0, 0, 0);
::keybd_event(VK_OFF, 0, KEYEVENTF_KEYUP, 0);
}
2. 重启
/*
调用IOCTL_HAL_REBOOT来实现重新启动。
*/
BOOL WarmBoot()
{
return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}
3. 冷启动
/*
通过设置clear标志位,然后重新启动的方式实现冷启动。
*/
void ClearBoot()
{
SetCleanRebootFlag();
KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}