程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 小技巧:VB.NET實現關機和重新啟動

小技巧:VB.NET實現關機和重新啟動

編輯:VB綜合教程
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的值及說明
  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved