mobile5.0硬启动(恢复出厂设置)的问题
哪位知道mobile5.0硬启动用哪个函数,如果可以的话给个代码,谢谢!!!! --------------------编程问答-------------------- 参考:SetCleanRebootFlag类似函数。 --------------------编程问答-------------------- SetCleanRebootFlag这个我用了,可是不起作用。。。。呵呵 --------------------编程问答-------------------- 调用
Process.Start(@"\Windows\clearstorage.exe", null);
试试呢 --------------------编程问答-------------------- 我的PDA里面没有clearstorage.exe这个程序。。。。。 --------------------编程问答-------------------- 帮你顶一下 --------------------编程问答-------------------- 是不是你的PDA不支持哦。。。。。。。
这部分代码一般厂商都要实现的。。。 --------------------编程问答-------------------- 我用pocket Controller菜单上面的“硬启动”就可以把我的PDA恢复出厂设置了,这证明这台PDA肯定是可以硬启动的,并且也应该用的是通用的接口函数。 --------------------编程问答-------------------- 这个也很难做到通用,不同厂商的机器上是不一样的~~~ --------------------编程问答-------------------- lz调用这个IOCTL_HAL_CLEAN_REBOOT试试!
KernelIoControl(IOCTL_HAL_CLEAN_REBOOT, &formatFlag, sizeof(BOOL), NULL, 0, NULL);
--------------------编程问答--------------------
#include <winioctl.h>
#define IOCTL_HAL_HARD_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_HAL_SOFT_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
extern "C" __declspec(dllimport)void SetCleanRebootFlag(void);
extern "C" __declspec(dllimport) BOOL KernelIoControl(
DWORD dwIoControlCode,
LPVOID lpInBuf,
DWORD nInBufSize,
LPVOID lpOutBuf,
DWORD nOutBufSize,
LPDWORD lpBytesReturned);
// 硬起系统,就是把内存清除了,然后再启动。
BOOL OnHardResetSystem()
{
SetCleanRebootFlag();
BOOL formatFlag;
formatFlag = TRUE;
//return KernelIoControl(IOCTL_HAL_HARD_REBOOT, &formatFlag, sizeof(BOOL), NULL, 0, NULL);
return KernelIoControl(IOCTL_HAL_HARD_REBOOT, NULL, 0, NULL, 0, NULL);
}
// 软起系统
BOOL OnSoftResetSystem()
{
return KernelIoControl(IOCTL_HAL_SOFT_REBOOT, NULL, 0, NULL, 0, NULL);
}
--------------------编程问答-------------------- 楼猪搞这个该不会是想干坏事吧(^-^) --------------------编程问答-------------------- KernelIoControl 这个里面有一个参数可以设置重启,具体可以去Google下 --------------------编程问答--------------------
这个办法可以
楼主为啥不散分? --------------------编程问答-------------------- 机器有对应的按键!为什么非得要用程序呢? --------------------编程问答-------------------- 你应该问手机厂家,不同的厂家,IOCTL_HAL_CLEAN_REBOOT这个是不一样的,可能人家改了也难说 --------------------编程问答-------------------- 估计各个厂家的不一样,与厂家沟通一下,试试看能否成功。 --------------------编程问答-------------------- 硬启动类似于重做系统吧 --------------------编程问答-------------------- 硬启动会使手机恢复到出厂设置。
补充:移动开发 , Windows Phone