| 
         
     
     | 
     | 
    
  
    | 
    如何在应用程序中实现关机功能 | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-2-28 月光软件站  | 
   
  
            VB 6.0开发应用程序时,用户要求在程序内部加入直接关机功能, 使操作全部集中于应用程序的内部进行。为此,笔者编制程序,进行Windows API函数调用,成功地实现了Windows 9x“关闭系统”仿真功能,满足了用户要求,现将设计过程列举如下:
    一、设计关机系统界面
    新建工程文件及窗体Form1,Form1中加入选项控件Option1、 Option2 、 Option3,将它们Caption 属性依次设为“关闭计算机(S)”、“重新启动计算机(R)”、“关闭所有程序并以其他用户身份登录”;再加入命令按钮Command1和Command2、Command3且Caption属性分别设为“是”、“否”、“帮助”。即设计一个Windows 98“关闭系统”的仿真界面。
    二、通用事件代码中对API 函数ExitWindowsEx( )进行声明
    VB 6.0应用程序设计时,调用丰富Windows API 函数能完成VB本身没有提供或无法实现的功能,这些函数都属于“操作系统”级别,能使应用程序增添不少色彩。其中ExitWindowsEx( )函数具备关闭Windows系统的功能,调用前必须进行声明:
    Declare Function ExitWindowsEx Lib ″user32″( ByVal uFlags As Long,ByVal dwReserved As Long) As Long
    参数说明:此函数有两个参数vFlags、dwReserved,其中vFlags参数决定用户需要做的关机操作,dwReserved参数是作为保留而没有使用。
      vFlags 参数可以取以下几种常量(或相应值):
      EWX_ShutDown   1 关闭计算机
      EWX_ReBoot     2 重新启动计算机
      EWX_LogOff     0 关闭所有程序并以其他用户身份登录
    三、关机功能所有程序代码清单如下:
    ′通用代码中对ExitWinwodsEx( )函数声明
    Private Declare Function ExitWindowsEx Lib ″user32″ (ByVal uFlags As Long,ByVal dwReserved As Long) As Long
    Const ShutDown = 1
    Const ReBoot  = 2
    Const LogOff  = 0
      Private Sub Command1_Click()
    Dim Sh As Long
    If Option1.Value = True Then  
     ′关闭计算机选项
    Sh = ExitWindowsEx(ShutDown, dwReserved)
      End If
      If Option2.Value = True Then
       ′重新启动计算机选项
      Sh = ExitWindowsEx(ReBoot, dwReserved)
      End If
      If Option3.Value = True Then
       ′关闭所有程序并以其他用户
       身份登录选项
      Sh = ExitWindowsEx(LogOff, dwReserved)
      End If
      End Sub
      Private Sub Command2_Click()
      Unload Me
      End Sub
      F5运行程序,即进行关机操作!该功能加入用户开发的应用程序,相当实用。
 
  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |