|
 |
推荐文章 |
|
|
|
|
|
|
|
|
|
|
| 作者:本站收集 日期:2005-8-4 12:02:31 |
|
|
---- 在 用Visual Basic 编 写Win95 应 用 程 序 时, 有 时 可 能
希 望 由 程 序 来 控 制 计 算 机 的 启 动 功 能, 比 如 当
应 用 程 序 对 系 统 注 册 表 作 了 修 改 后 需 要 重 新 启
动Win95。
---- 那 么, 如 何 在 应 用 程 序 中 控 制Win95 的 启 动 呢 ?
由 于Visual Basic 自 身 没 有 提 供 相 关 的 命 令 和 函 数,
我 们 只 好 求 助 于Windows API 函 数ExitWindowsEx, 调 用 该 函
数, 我 们 可 以 完 成 重 新 启 动、 关 机、 强 制 关 闭 所
有 应 用 程 序 或 重 新 登 录 等 操 作, 下 面 是 该 函 数
的 函 数 声 明:
Declare Function ExitWindowsEx Lib
"user32" (ByVal uFlags As Long,
ByVal dwReserved As Long) As Long
---- ExitWindowsEx 函 数 有 两 个 参 数, 其 中 第 二 个 为 保
留 参 数, 第 一 个 参 数uFlags 用 来 决 定 调 用 函 数 时 的
具 体 动 作, 可 能 的 取 值 和 含 义 见 下 表:
U flags的值含义
0 重新登录
1 关闭计算机
2 重新启动
4 强制关闭所有应用程序
---- 下 面 以 一 个 小 程 序 为 例, 介 绍 如 何 在 程 序 中
控 制Win95 的 启 动:
---- 新 建 一 个 工 程, 添 加 一 个 普 通 窗 体Form1, 在 窗
体 上 放 置 一 个Frame 控 件Frame1、 一 个 命 令 按 钮 控 件Command1
和 一 个 包 含4 个 元 素 的 选 项 按 钮 控 件 数 组Option1。
再 给 工 程 添 加 一 个 代 码 模 块Module1, 在 其
---- 中 写 上 如 下 的 声 明( 注 意ExitWindowsEx 的 函 数 声 明
必 须 写 在 一 行 上):
Public Const LOGOFF = 0
Public Const SHUTDOWN = 1
Public Const REBOOT = 2
Public Const CLOSEPROGRAMES = 4
Declare Function ExitWindowsEx Lib "user32"
(ByVal uFlags As Long, ByVal dwReserved As Long) As Long
在窗体Form1的代码模块中编写
Command1的Click事件过程如下:
Private Sub Command1_Click()
Dim How As Long
If Option1(0).Value = True Then
How = LOGOFF '选择了重新登录
ElseIf Option1(1).Value = True Then
How = REBOOT '选择了重新启动
ElseIf Option1(2).Value = True Then
How = SHUTDOWN '选择了关闭计算机
Else
How = CLOSEPROGRAMES '选择了关闭所有程序
End If
Call ExitWindowsEx(How, 0) '执行操作
End Sub
---- 按 下F5, 运 行 本 程 序, 选 择 某 个 功 能, 然 后 按
下 确 认 按 钮, 嘿 ! 不 错 吧。 本 程 序 用Visual Basic 5.0
编 写, 在Pwin95 和Pwin97 环 境 下 运 行 正 常。 |
|
|
|
|
|
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
|
|
|
|
|
责任编辑: 原点 |
投稿作者: 本站收集 |
|
|
信息来源: 网络 |
录入时间: 2005-8-4 12:02:31 |
|
|
|
| |
|