当前位置:编程学习 > wap >>

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下 --------------------编程问答--------------------
引用 10 楼 pengfude 的回复:
#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, FI……


这个办法可以
楼主为啥不散分? --------------------编程问答-------------------- 机器有对应的按键!为什么非得要用程序呢? --------------------编程问答-------------------- 你应该问手机厂家,不同的厂家,IOCTL_HAL_CLEAN_REBOOT这个是不一样的,可能人家改了也难说 --------------------编程问答-------------------- 估计各个厂家的不一样,与厂家沟通一下,试试看能否成功。 --------------------编程问答-------------------- 硬启动类似于重做系统吧 --------------------编程问答-------------------- 硬启动会使手机恢复到出厂设置。
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,