VB.NET实现关机和重新启动

 
Private   Declare   Function ExitWindowsEx Lib "user32" (ByVal uFlags As IntegerByVal dwReserved As IntegerAs 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值