VB.NET怎样重启和关机?
30分相送. 问题点数:30、回复次数:6Top
1 楼net_lover(【孟子E章】)回复于 2006-03-04 16:34:51 得分 2
可参考
http://dotnet.aspx.cc/ShowDetail.aspx?id=1C5E7859-4AB2-4B7F-E29C-9C43136CD98ATop
2 楼singlepine(小山)回复于 2006-03-04 16:36:54 得分 2
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=209016Top
3 楼net_lover(【孟子E章】)回复于 2006-03-04 16:37:29 得分 2
下载代码
http://www.mentalis.org/php/dm/dm.qpx?7Top
4 楼chenweb(风无声)回复于 2006-03-04 18:24:56 得分 24
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Integer, ByVal dwReserved As Integer) As Integer
Const EWX_FORCE As Short = 4
Const EWX_LOGOFF As Short = 0
Const EWX_REBOOT As Short = 2
Const EWX_SHUTDOWN As Short = 1
Dim retval As Integer
'' 定义Esc按键
Const VK_ESCAPE As Short = &H1Bs
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
If Option1.Checked Then
'' 注销当前用户
retval = ExitWindowsEx(EWX_FORCE, 0)
ElseIf Option2.Checked Then
'' 关闭计算机
retval = ExitWindowsEx(EWX_SHUTDOWN, 0)
ElseIf Option3.Checked Then
'' 重新启动
retval = ExitWindowsEx(EWX_REBOOT, 0)
End If
End Sub
Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
Me.Close()
End Sub
'' 按Esc键时,结束应用程序
Private Sub Form1_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
If KeyAscii = VK_ESCAPE Then
Me.Close()
End If
If KeyAscii = 0 Then
eventArgs.Handled = True
End If
End Sub
本实例通过使用ExitWindowEx()API函数来达到关机和重新启动的目的。在ExitWindowEx()函数中,参数uFlags指定要进行何种操作。在表86-2中列出了参数uFlags的值及其说明。
表86-2 参数uFlags的值及说明
常量名
值
说明
EWX_FORCE
4
终止所有进程,包括没有响应的进程,并注销Windows
EWX_REBOOT
2
重新启动系统
EWX_SHUTDOWN
1
关闭系统
EWX_LOGOFF
0
终止所有正在运行的进程,并注销Windows
Top
5 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-04 21:13:12 得分 0
如果是XP系统的话,可以使用
Shell("ShutDown.exe")Top
6 楼yuanarea(Sail before)回复于 2006-03-05 01:01:50 得分 0
shutdown.exe 的确功能很强大,呵呵,建议找不到这个文件在执行自己的代码Top




