—-在用VisualBasic编写Win95应用程序时,有时可能希望由程序来控制计算机的启动功能,比如当应用程序对系统注册表作了修改后需要重新启动Win95。
—-那么,如何在应用程序中控制Win95的启动呢?由于VisualBasic自身没有提供相关的命令和函数,我们只好求助于WindowsAPI函数ExitWindowsEx,调用该函数,我们可以完成重新启动、关机、强制关闭所有应用程序或重新登录等操作,下面是该函数的函数声明:
DeclareFunctionExitWindowsExLib
"user32"(ByValuFlagsAsLong,
ByValdwReservedAsLong)AsLong
—-ExitWindowsEx函数有两个参数,其中第二个为保留参数,第一个参数uFlags用来决定调用函数时的具体动作,可能的取值和含义见下表:
Uflags的值含义
0重新登录
1关闭计算机
2重新启动
4强制关闭所有应用程序
—-下面以一个小程序为例,介绍如何在程序中控制Win95的启动:
—-新建一个工程,添加一个普通窗体Form1,在窗体上放置一个Frame控件Frame1、一个命令按钮控件Command1和一个包含4个元素的选项按钮控件数组Option1。再给工程添加一个代码模块Module1,在其
—-中写上如下的声明(注意ExitWindowsEx的函数声明必须写在一行上):
PublicConstLOGOFF=0
PublicConstSHUTDOWN=1
PublicConstREBOOT=2
PublicConstCLOSEPROGRAMES=4
DeclareFunctionExitWindowsExLib"user32"
(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong
在窗体Form1的代码模块中编写
Command1的Click事件过程如下:
PrivateSubCommand1_Click()
DimHowAsLong
IfOption1(0).Value=TrueThen
How=LOGOFF选择了重新登录
ElseIfOption1(1).Value=TrueThen
How=REBOOT选择了重新启动
ElseIfOption1(2).Value=TrueThen
How=SHUTDOWN选择了关闭计算机
Else
How=CLOSEPROGRAMES选择了关闭所有程序
EndIf
CallExitWindowsEx(How,0)执行操作
EndSub
—-按下F5,运行本程序,选择某个功能,然后按下确认按钮,嘿!不错吧。本程序用VisualBasic5.0编写,在Pwin95和Pwin97环境下运行正常。->