----在用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环境下运行正常。->
|