作者noar (小安)
看板Visual_Basic
标题Re: [.NET] 如何让系统重开机
时间Tue Jun 2 10:04:41 2009
※ 引述《noar (小安)》之铭言:
请输入专案类型(网站专案或者应用程式专案):vb 2003
目前在撰写CE 4.1上的程式
可是遇到一个问题就是让系统重新启动的问题
因为有些设定要重新启动才会生效
所以想问问看有没有利用程式就可以让CE重新启动的方法
----感谢kenimai
我把我查到的程式码贴出来吧
Private Declare Function KernelIoControl Lib "coredll.dll" (ByVal
dwIoControlCode As Integer, ByVal lpInBuf As IntPtr, ByVal nInBufSize As
Integer, ByVal lpOutBuf As IntPtr, ByVal nOutBufSize As Integer, ByRef
lpBytesReturned As Integer) As Integer
Private Function CTL_CODE(ByVal DeviceType As Integer, ByVal Func As
Integer, ByVal Method As Integer, ByVal Access As Integer) As Integer
Return (DeviceType << 16) Or (Access << 14) Or (Func << 2) Or Method
End Function
Private Function ResetPocketPC() As Integer
Const FILE_DEVICE_HAL As Integer = &H101
Const METHOD_BUFFERED As Integer = 0
Const FILE_ANY_ACCESS As Integer = 0
Dim bytesReturned As Integer = 0
Dim IOCTL_HAL_REBOOT As Integer
IOCTL_HAL_REBOOT = CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED,
FILE_ANY_ACCESS)
Return KernelIoControl(IOCTL_HAL_REBOOT, IntPtr.Zero, 0, IntPtr.Zero,
0, bytesReturned)
End Function
'reset 按钮
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
ResetPocketPC()
End Sub
本文来自CSDN博客
http://blog.csdn.net/aawolf/archive/2008/02/07/2086199.aspx
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.221.131.34
1F:→ chinoyan:MSGBOX "警告!!! 请在十秒内重新啓动CE!!!","十秒後爆炸" 06/01 19:39
2F:推 fumizuki:winxp可以执行命令 "shutdown -r -t 0" 其他就不确定了 06/01 20:46
3F:推 kenimai:Google "CoreDll.dll" 这个东西~ 06/02 02:03
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.221.131.34
※ 编辑: noar 来自: 61.221.131.34 (06/02 10:24)