频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用Authorware玩转控制面板

来源: 作者: 出处:巧巧读书 2006-09-06 进入讨论组

  Windows提供的控制面板真是酷呆了!我们可以用它轻而易举的设置墙纸、屏幕的分辨率、窗口的颜色和外观、多媒体属性、输入法、鼠标、打印机、游戏控制器、调制解调器Internet属性等等……
   我们需要通过Windows API调用,才能够达到我们的目的。因此,首先解释一下Windows API的基本概念。Windows作为一个多任务操作系统,不仅协调着应用程序的执行、分配存储器、管理系统资源等任务,同时可以被视为一个巨大的服务中心。该中心提供各种各样的服务,诸如,帮助应用程序打开窗口、描绘图形、使用外部设备等;每种服务都可以看作是一个函数,这些函数的服务对象是应用程序(Application),因而被称之为应用程序编程界面(Application Programming Interface),简称——API函数。凡是在Windows工作环境下执行的应用程序,都可以调用Windows API函数;在Authorware中,同样也可以调用部分的Windows API函数。
  要想调用控制面板,我们只需要用到一个Windows API函数——Winexec函数,该函数已被封装在用户自定义函数文件winapi.u32中。下边就具体说说如何调用控制面板:

一、启动您的Authorware4.0或者Authorware 5 Attain。
二、新建一个文件(Authorware会自动把它取名为Untitled)。
三、载入所需的函数。
1.单击快捷工具栏中的“Functions”按钮(或者按快捷键“Ctrl+Shift+F”),打开“Functions”对话框。
2.单击“Functions”对话框里“Category:”组合框的按钮,在弹出的列表框中,单击选中“[Untitled]”项。
3.单击“Load...”按钮,这时会出现一个“Load function”对话框。
4.在“文件名(N):”文本框里,输入“c:\Authorware 4\Winapi.u32”(这里不要输入“”),将会弹出“Custom functions in Winapi.u32”对话框。
5.在函数列表框中,找到并单击选中“Winexec”。
6.单击“Load”按钮,将函数Winexec载入Authorware应用程序,出现在“Functions”对话框的列表中(实际上,函数并未真正载入应用程序,而只是有一条链接被连接到了包含代码的文件中)。
7.从工具调色板中拖一个计算图标到流程线上,命名为“调用控制面板”。
8.双击打开“调用控制面板”图标,单击选中“Functions”对话框列表中的“Winexec”函数,单击“Paste”按钮,将“Winexec”函数粘贴到计算图标中(代码如下)。 WinExec( LPCSTR lpCmdLine, UINT uCmdShow )
这里,“Winexec”函数的功能是运行规定的应用程序;LPCSTR lpCmdLine是一个命令行参数,取值为包含命令行的字符串,可以是文件名加上可选的参数;如果文件名不包含路径,那么Windows将按如下次序搜索目录:
a.当前目录→b.Windows目录→c.Windows系统目录→d.包含当前任务的可执行文件的目录→e.由Path环境变量所指定的目录→f.网络中映射的目录
UINT uCmdShow参数指定如何展示Windows应用程序窗口,取值可以是下列整数之一——
0:隐藏窗口并使另一窗口活动,1:激活并正常显示窗口,2:激活并最小化窗口3:激活并最大化窗口4:以最近的尺寸和位置显示窗口,但不激活,5:激活并依当前尺寸和位置显示窗口6:最小化窗口并激活顶层窗口7:最小化窗口,但不激活8:以当前状态显示窗口,但不激活,9:激活并显示窗口、恢复原始尺寸
9.单击“Done”按钮,关闭“Functions”对话框。
四、调用控制面板。
只需将“调用控制面板”图标中的代码改为:
WinExec("rundll32.exe shell32.dll,Control_RunDLL",1 )
——以上语句的作用,与按下“开始”菜单的“设置→控制面板”完全一样。
单击快捷工具栏中的“Play”按钮(或者按快捷键“Ctrl+R”),运行一下程序,控制面板就乖乖的出来了。在应用程序中,有的时候仅仅调出控制面板来,往往还不能满足我们的需要。比如说,当我们检测到用户的显示分辨率为640*480,提示他将显示分辨率改为800*600时,我们更希望能在用户确认后直截了当的调出控制面板的子功能——显示器属性设置。要调用控制面板的子功能,也很容易。
五、调用控制面板的子功能。
以下为您列出了调用控制面板常用的各项子功能的代码:
辅助工具选项——WinExec("rundll32.exe shell32.dll,Control_RunDLL Access.cpl",1 )
添加/删除程序——WinExec("rundll32.exe shell32.dll,Control_RunDLL Appwiz.cpl",1 )
显示器属性——WinExec("rundll32.exe shell32.dll,Control_RunDLL desk.cpl",1 )
Internet属性——WinExec("rundll32.exe shell32.dll,Control_RunDLL Inetcpl.cpl",1 )
区域设置——WinExec("rundll32.exe shell32.dll,Control_RunDLL Intl.cpl",1 )
游戏控制器——WinExec("rundll32.exe shell32.dll,Control_RunDLL joy.cpl",1 )
鼠标——WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl",1 )
多媒体——WinExec("rundll32.exe shell32.dll,Control_RunDLL Mmsys.cpl",1 )
调制解调器——WinExec("rundll32.exe shell32.dll,Control_RunDLL Modem.cpl",1 )
网络——WinExec("rundll32.exe shell32.dll,Control_RunDLL Netcpl.cpl",1 )
32位ODBC——WinExec("rundll32.exe shell32.dll,Control_RunDLL Odbccp32.cpl",1 )
口令——WinExec("rundll32.exe shell32.dll,Control_RunDLL Password.cpl",1 )
电源管理——WinExec("rundll32.exe shell32.dll,Control_RunDLL Powercfg.cpl",1 )
扫描仪与数字相机属性——WinExec("rundll32.exe shell32.dll,Control_RunDLL sticpl.cpl",1 )
系统——WinExec("rundll32.exe shell32.dll,Control_RunDLL Sysdm.cpl",1 )
拨号属性——WinExec("rundll32.exe shell32.dll,Control_RunDLL Telephon.cpl",1 )
日期/时间——WinExec("rundll32.exe shell32.dll,Control_RunDLL Timedate.cpl",1 )
与调用控制面板相比,调用控制面板的子功能的代码只是多了一个 *.cpl。以cpl为扩展名的文件,实际上就是控制面板的子功能程序文件;某些软件在安装时,也会安装自己专用的cpl文件,比如:PhotoShop的Adobe Gamma.cpl。
六、调用控制面板内建的子功能。
寻找Windows系统目录中的*.cpl文件之后,您会发现:键盘、打印机、字体、输入法等子功能都没有对应的*.cpl文件,如何调用这些子功能呢?代码如下:
键盘——WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @1",1 )
打印机——WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @2",1 )
字体——WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @3",1 )
输入法——WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @4",1 )
七、指定起始选项卡。
使用以上方法后,您会发现每一个控制面板的子功能被调用后,起始选项卡一律都停留在第一个选项卡上,可不可以任意指定起始选项卡呢?有两种情况,举例说明如下:
对于控制面板*.cpl文件对应的子功能,指定起始选项卡的方法如下:
指定“游戏控制器”起始选项卡为第二个选项卡——WinExec("rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1",1 )
需要注意的是,选项卡一律从0算起。对于控制面板内建的子功能,指定起始选项卡的方法如下:
指定“键盘”起始选项卡为第二个选项卡——WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,1",1 )
由于Windows并未规定所有的cpl文件都得遵守上述的参数指定方式,所以,对于某些cpl文件,上述的参数指定方式可能会失效,比如:IE所提供的Inetcpl.cpl。

URL:http://www.qqread.com/authorware/d239985.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章