3

我看过很多关于 IOCTL 的代码,我尝试使用一些代码来显示如何通过设置冷启动 Windows Mobile 设备SetCleanRebootFlag()int IOCTL_HAL_REBOOT = 0x101003C;但它不会重置 HKLM\Comm\BootCount 下的启动计数,这是快速的方法让我检查冷启动(应重置为“0”)。有人可以告诉我“冷启动”的代码吗?我从这里引用了我使用过的代码:Reboot Windows Mobile 6.x device programmatically using C#

问候,斯科特

4

1 回答 1

4

对于具有持久注册表的设备(自 WM5 以来的大多数 Windows Mobile 设备都有这个),该计数器不会重置为零。你的设备有吗?

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

干净的注册表需要“干净启动”。没有在 Windows 移动设备上执行干净启动的标准方法。为此,您必须参考 OEM 提供的文档。

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

::SetSystemPowerState( NULL, POWER_STATE_RESET, POWER_FORCE );

-保罗H

于 2011-11-07T21:00:22.487 回答