以C#编程方式使用C#冷启动Windows Mobile 6.5设备

时间:2011-11-05 18:50:04

标签: c# .net windows-mobile compact-framework windows-mobile-6.5

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

问候,斯科特

1 个答案:

答案 0 :(得分:4)

对于具有持久注册表的设备(大多数Windows Mobile设备since WM5 have this),该计数器不会重置为零。你的设备有吗?

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

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

如果您只想重启设备,请使用SetSystemPowerState

::SetSystemPowerState( NULL, POWER_STATE_RESET, POWER_FORCE );

-PaulH