Authorware中如何封锁系统键和隐藏任务栏

4/8/2006来源:Authorware教程人气:9105

我们都知道,在Windows系统中,资源是非常宝贵的,如果资源不足,轻则程序运行变慢(最常见的现象),重则会无法启动程序,尤其是多媒体程序一般运行时对系统资源占用率比较高,怎样使多媒体程序获得最多的系统资源就成为一个迫待解决的问题。
其实我们可以通过封锁系统键和隐藏任务栏的方法来解决这个问题,因为一旦封锁了系统键并隐藏了任务栏,用户就再也无法启动其它程序或切换到已经运行的程序,从而保证了系统资源的最大限度的应用。
下面就以Macromedia 公司的招牌多媒体创作软件AuthorWare为例介绍封锁系统键和隐藏任务栏的方法,并在程序的最后给出恢复的方法:
(1)新建一个文件,文件名为sample.a4p;
(2)放置一计算图标于流程线上;
(3)按Ctrl+Shift+F键,打开Function窗口;
(4)选择sample.a4p,点击Load钮,打开winapi.u32文件(这个动态库在Authorware安装后就已经有了,也可以从http://www.macromedia.com上下载),并引入其中的SystemParametersInfo()、FindWindow和SetWindowpos()三个函数;
(5)双击计算图标,在里面写上:
SystemParametersInfo(97,1,1,1)--屏蔽键盘所有功能键;
wnd:=findwindow("shell_traywnd","")--捕捉任务栏窗口;
setwindowpos(wnd,0,0,0,0,0,128)--隐藏任务栏窗口;
(6)在程序的退出处放置一计算图标,双击计算图标,在里面写上:
SystemParametersInfo(97,0,1,1)--恢复键盘所有功能键;
wnd:=findwindow("shell_traywnd","")--捕捉任务栏窗口;
setwindowpos(wnd,0,0,0,0,0,64)--显示任务栏窗口;
我们还可以在运行程序前,通过Windows API函数捕捉所有的窗口,获得窗口的句柄,然后再向它们依次发送MW_QUIT消息,这样就可以在运行程序之前,关闭所有正在运行的程序,从而释放出更多的资源给您的多媒体产品(这对其它的Windows程序来说是不公平的!)
您也可以在程序一开始出示一对话框,询问用户是否需要让您的多媒体程序获得尽量多的系统资源,得到用户的允许后再关闭其它程序,也许这样做会更好一点儿!