[WM][VB][重設裝置]
要如何撰寫程式達到讓機器重設裝置也是俗稱的冷啟動、warm boot如下列,不過早期的機器可以程式化達到Clean,現在的必需有手機廠商來自行處理,因為如果整台機器Clean 必需要重新安裝 nk.bin 載入到記憶體才有os 可以執行,如果你手上的機器是moto 的上官網他有提供一組執行檔,你只要執行他就會自動Clean。
參考 http://blogs.msdn.com/ce_base/archive/2005/06/22/431699.aspx
如何達成手機重新開機.net compact framework並沒有支援任何指令,並需使用外部coredll.dll API 指令 KernelIoControl Lib 來完成動作,如果不會寫程式沒關係今天順帶告訴各位在vs2008 也提供插入程式碼片段給大家參考使用也就是Code Snippet
Step1:開啟vs2008新增一個vb 智慧型裝置專案,在表單上產生一個按鍵Reset
Step2: 在上一個畫面的重新啟動快速按二下就可以程式碼編輯畫面,接在按下滑鼠右鍵會出現功能表選擇插入程式碼片段
Step3:出現插入程式碼片段視窗後點選智型裝置
Step4:接著點選裝置作業系統
Step5:在來點選重設裝置
Step6:程式碼就這麼神奇跑出來了,接下來手工一下把ResetPocketPC 函式名填入到 Butoon1_Click裡面
Step7:按下偵錯\開始偵錯來部署應用程式測試一下
Step8:按一下Reset 看看不會重新開機就完成了
另外可以使用SetSystemPowerState 函式來達成如下所式
Const POWER_FORCE As Integer = 4096
Const POWER_STATE_RESET As Integer = &H800000
Private Declare Function SetSystemPowerState Lib "Coredll" ( _
ByVal psState As String, ByVal StateFlags As Integer, _
ByVal Options As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SetSystemPowerState(Nothing, POWER_STATE_RESET, POWER_FORCE)
End Sub