使用C#编程实现冷启动Windows Mobile 6.5设备

3
我看到了很多关于IOCTL的代码,我尝试使用一些代码来演示如何通过设置SetCleanRebootFlag()int IOCTL_HAL_REBOOT = 0x101003C; 来冷启动Windows Mobile设备,但它不会重置HKLM\Comm\BootCount下的启动计数,这是我快速检查冷启动的方法(应该重置为'0')。有人能给我展示一个“冷启动”的代码吗? 我参考了我从这里使用的代码:使用C#以编程方式重新启动Windows Mobile 6.x设备 敬礼,Scott
1个回答

4

如果设备有持久注册表(自 WM5 以来的大多数 Windows Mobile 设备都有),则该计数器不会被重置为零。您的设备是否有持久注册表?

您的 CPU 可能具有指示上次重新启动原因的状态寄存器。您可以尝试检查一下。或者,您的 OEM 可能已经提供了用于相同目的的 IOCTL。

清理注册表需要进行“干净启动”。在 Windows 移动设备上执行干净启动的标准方法不存在。您将需要参考 OEM 提供的文档。

如果您只想重新启动设备,我使用 SetSystemPowerState

::SetSystemPowerState( NULL, POWER_STATE_RESET, POWER_FORCE );

-保罗·H


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接