我见过很多关于IOCTL的代码,我尝试使用一些代码来展示如何通过设置SetCleanRebootFlag()
和int IOCTL_HAL_REBOOT = 0x101003C;
来冷启动Windows Mobile设备,但它没有重置在HKLM \ Comm \ BootCount下启动计数,这是我检查冷启动的快捷方式(应该重置为'0')。有人能告诉我“冷启动”的代码吗?我引用了我在这里使用过的代码:Reboot Windows Mobile 6.x device programmatically using C#
问候,斯科特
答案 0 :(得分:4)
对于具有持久注册表的设备(大多数Windows Mobile设备since WM5 have this),该计数器不会重置为零。你的设备有吗?
您的CPU可能有一个状态寄存器,指示上次重启的原因。你可以尝试检查一下。或者,您的OEM可能已为同一目的提供了IOCTL。
干净的注册表需要“干净启动”。在Windows移动设备上没有执行干净启动的标准方法。您必须参考OEM提供的文档。
如果您只想重启设备,请使用SetSystemPowerState:
::SetSystemPowerState( NULL, POWER_STATE_RESET, POWER_FORCE );
-PaulH