Private Declare Function ExitWindowsEx Lib user (ByVal uFlags As Integer ByVal dwReserved As Integer) As Integer
Const EWX_FORCE As Short =
Const EWX_LOGOFF As Short =
Const EWX_REBOOT As Short =
Const EWX_SHUTDOWN As Short =
Dim retval As Integer
定义Esc按键
Const VK_ESCAPE As Short = &HBs
Private Sub Command_Click(ByVal eventSender As SystemObject ByVal eventArgs As SystemEventArgs) Handles CommandClick
If OptionChecked Then
注销当前用户
retval = ExitWindowsEx(EWX_FORCE )
ElseIf OptionChecked Then
关闭计算机
retval = ExitWindowsEx(EWX_SHUTDOWN )
ElseIf OptionChecked Then
重新启动
retval = ExitWindowsEx(EWX_REBOOT )
End If
End Sub
Private Sub Command_Click(ByVal eventSender As SystemObject ByVal eventArgs As SystemEventArgs) Handles CommandClick
MeClose()
End Sub
按Esc键时结束应用程序
Private Sub Form_KeyPress(ByVal eventSender As SystemObject ByVal eventArgs As SystemWindowsFormsKeyPressEventArgs) Handles MyBaseKeyPress
Dim KeyAscii As Short = Asc(eventArgsKeyChar)
If KeyAscii = VK_ESCAPE Then
MeClose()
End If
If KeyAscii = Then
eventArgsHandled = True
End If
End Sub
本实例通过使用ExitWindowEx()API函数来达到关机和重新启动的目的在ExitWindowEx()函数中参数uFlags指定要进行何种操作在表中列出了参数uFlags的值及其说明
表参数uFlags的值及说明