科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道小技巧:VB.NET实现关机和重新启动

小技巧:VB.NET实现关机和重新启动

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Integer, ByVal dwReserved As Integer) As Integer   

作者:builder.com.cn 2007年9月29日

关键字: 编程

  • 评论
  • 分享微博
  • 分享邮件
  
  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的值及说明
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章