在Visual Basic中终止Windows95

发表于:2007-06-21来源:作者:点击数: 标签:
在Visual Basic 程 序 中, 可 以 使 用Windows API 函 数 来 重 新 启 动 计 算 机 系 统, 文 本 介 绍 如 何 退 出Windows 95 并 关 闭 计 算 机 系 统。 关 闭 计 算 机 系 统 ---- 可 以 使 用Windows API 的ExitWindowsEx 函 数 来 从Visual Basic 程

   


      在Visual Basic 程 序 中, 可 以 使 用Windows API 函 数 来 重 新 启 动 计 算 机 系 统, 文 本 介 绍 如 何 退 出Windows 95 并 关 闭 计 算 机 系 统。  

关 闭 计 算 机 系 统

---- 可 以 使 用Windows API 的ExitWindowsEx 函 数 来 从Visual Basic 程 序 中 重 新 启 动 计 算 机 系 统。 要 使 用 该 函 数, 需 要 将 如 下 声 明 语 句 包 含 在 窗 体 的 通 常 声 明 部 分 中:  

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

---- ExitWindowsEx 函 数 需 要2 个 参 数, 可 以 使 用 一 个 或 多 个 下 面 的 标 识 的 组 合 来 告 诉ExitWindowsEx 函 数 希 望 进 行 关 机 过 程。  

---- EWX_FORCE 所 有 的 进 程 都 被 强 制 终 止。  

---- EWX_LOGOFF 所 有 的 进 程 被 强 制 终 止, 并 且 用 户 退 出 登 录(logged off)。  

---- EWX_POWEROFF 计 算 机 系 统 被 关 机, 并 且 如 果 支 持 节 电 特 性, 则 计 算 机 被 物 理 关 机。  

---- EWX_REBOOT 计 算 机 系 统 被 关 机 并 重 新 启 动。  

---- EWX_SHUTDOWN 计 算 机 被 物 理 地 安 全 地 关 机。  

---- 下 面 的 样 例 程 序 中 使 用 了 上 面 的 三 个 标 识 的 组 合。 该 标 识 组 合(EWX_LOGOFF,EWX_FORCE, 以 及EWX_REBOOT) 告 诉Windows 95 退 出 所 有 正 在 执 行 的 进 程, 使 用 户 退 出 网 络 登 录, 使 计 算 机 系 统 处 于 准 备 状 态 以 供 用 户 关 机。  

样 例 程 序

---- 该 样 例 程 序 显 示 了 如 何 关 闭 计 算 机 系 统。  

---- 1. 在Visual Basic 中 开 始 一 个 新 的 项 目, 采 用 缺 省 的 方 法 建 立Form1。  

---- 2. 将 如 下 常 量 和 声 明 语 句 添 加 到Form1 的 通 常 声 明 部 分 中( 注 意 该 声 明 语 句 需 要 书 写 在 一 行 内):  


Private Declare Function ExitWindowsEx Lib "user32"
(ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT


---- 3. 在Form1 上 添 加 一 个 命 令 按 钮 控 件, 采 用 缺 省 的 方 法 建 立Comand1。 将 它 的Caption 属 性 设 置 为“ 重 新 启 动 计 算 机”。  

---- 4. 将 如 下 代 码 添 加 到Command1 的 单 击 事 件 中:  


Private Sub Command1_Click()
    Dim X As Long
    X = ExitWindowsEx(EWX_RESET, dwReserved)
End Sub


---- 按 下F5 来 运 行 上 述 样 例 程 序, 单 击 命 令 按 钮, 即 可 重 新 启 动 计 算 机 系 统。

原文转自:http://www.ltesting.net