VB版本:VB6.0中文企業(yè)版 系統(tǒng):WinXP簡體中文SP2
如何用VB實現(xiàn)系統(tǒng)的關(guān)機、重啟和注銷
.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
' 注銷當(dāng)前用戶
retval = ExitWindowsEx(EWX_FORCE, 0)
ElseIf Option2.Checked Then
' 關(guān)閉計算機
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鍵時,結(jié)束
應(yīng)用程序 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
常量名
值
說明
EWX_FORCE
4
終止所有進程,包括沒有響應(yīng)的進程,并注銷Windows
EWX_REBOOT
2
重新啟動系統(tǒng)
EWX_SHUTDOWN
1
關(guān)閉系統(tǒng)
EWX_LOGOFF
0
終止所有正在運行的進程,并注銷Windows