我看过很多关于 IOCTL 的代码,我尝试使用一些代码来展示如何通过设置 SetCleanRebootFlag()
和 int IOCTL_HAL_REBOOT = 0x101003C 冷启动 Windows Mobile 设备;
但它不会重置 HKLM\Comm\BootCount 下的启动计数,这是我检查冷启动的快速方法(应重置为“0”)。有人可以告诉我“冷启动”的代码吗?我正在引用我从这里使用的代码:Reboot Windows Mobile 6.x device programmatically using C#
问候,斯科特
最佳答案
对于具有永久注册表的设备(大多数 Windows Mobile 设备 since WM5 have this),该计数器不会重置为零。你的设备有吗?
您的 CPU 可能有一个状态寄存器指示上次重启的原因。您可以尝试检查一下。或者,您的 OEM 可能已出于相同目的提供了 IOCTL。
干净的注册表需要“干净启动”。没有在 Windows 移动设备上执行干净启动的标准方法。为此,您必须引用您的 OEM 提供的文档。
如果你只想重启设备,我使用 SetSystemPowerState :
::SetSystemPowerState( NULL, POWER_STATE_RESET, POWER_FORCE );
-保罗
关于c# - 使用 C# 以编程方式冷启动 Windows Mobile 6.5 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8022427/