在Delphi程序中调用控制面板设置功能
2008-04-09 04:18:10来源:互联网 阅读 ()
Win9X/NT的大多数系统设置是在控制面板中进行的。我们可以要求用户自己打开控制面板寻找相应的项目进行设置,此时要求用户对控制面板相当熟悉;也可以在程序中自动为用户打开控制面板并选择相应的项目,此时用户所做的只是进行设置。后一种方法无疑更具有友好性,更能提高用户的工作效率。
控制面板的大多数项目设置,都对应Windows的System目录下的一个CPL文件,如“Internet”属性对应的文件为InetCpl.cpl、“多媒体”属性对应的文件为MmSys.cpl等。通过调用这些文件可以打开相应的属性设置窗口,甚至可以跳到相应的属性页如“Internet”属性的“连接”属性页,有效减少软件用户的操作步骤。
CPL文件的调用格式为“RunDLL32.exe Shell32.dll,Control_RunDLL
CPLFile.cpl,,ItemNo”(可参见注册表中HKEY_CLASSES_ROOT\cplfile\shell\cplopen\command的默认值),其中CPLFile.cpl为CPL文件,ItemNo为项目编号。在Delphi程序中,可以用WinExec或CreateProcess函数来实现CPL文件调用,从而实现对控制面板的设置项目的调用。如进行拨号连接的帐号和密码设置要调用“Internet”属性的“连接”属性页,可以用语句“WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL InetCpl.cpl,,3’,,
SW_SHOWNORMAL);”;解决2000年问题中对两位年份输入的解释要调用“区域设置”的“日期”属性页,可以用语句:“WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Intl.cpl,,4’,,
SW_SHOWNORMAL);”。
控制面板各项目设置调用所对应的语句列表如下:
//打开控制面板
WinExec(’RunDLL.exe
Shell32.DLL,Control_RunDLL’,SW_SHOWNORMAL);
//32位ODBC数据源管理器,ODBC数据源、ODBC驱动程序设置
//没有提?
数区分“用户DSN”“系统DSN”“文件DSN”“ODBC驱动程序”“跟踪”“关于”六个属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL ODBCCP32.CPL’,SW_SHOWNORMAL);
//BDE
Adminstrator
//没有提供参数区分“Databases”和“Configuration”两个属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL BdeAdmin.CPL’,SW_SHOWNORMAL);
//Internet 属性,可有ItemNo参数
//“常规”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL InetCpl.cpl,,0’,
SW_SHOWNORMAL);
//“安全”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
InetCpl.cpl,,1’, SW_SHOWNORMAL);
//“内容”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL InetCpl.cpl,,2’,
SW_SHOWNORMAL);
//“连接”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
InetCpl.cpl,,3’, SW_SHOWNORMAL);
//“程序”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL InetCpl.cpl,,4’,
SW_SHOWNORMAL);
//“高级”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
InetCpl.cpl,,5’, SW_SHOWNORMAL);
//电话拨号属性,没有提供参数区分“我的位置”和“电话语音驱动程序”两个属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Telephon.cpl’, SW_SHOWNORMAL);
//电源管理设置,没有提供参数区分“电源方案”和“高级”两个属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL PowerCfg.cpl’, SW_SHOWNORMAL);
//调制解调器设置,没有提供参数区分“常规”和“诊断”两个属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Modem.cpl’, SW_SHOWNORMAL);
//多媒体设置,可有ItemNo参数
//“音频”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Mmsys.cpl,,0’,
SW_SHOWNORMAL);
//“视频”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
Mmsys.cpl,,1’, SW_SHOWNORMAL);
//“MIDI”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Mmsys.cpl,,2’,
SW_SHOWNORMAL);
//“CD音乐”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Mmsys.cpl,,3’,
SW_SHOWNORMAL);
//“设备”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
Mmsys.cpl,,4’, SW_SHOWNORMAL);
//辅助选项设置,可有ItemNo参数
//“键盘”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL
access.cpl,,1’,SW_SHOWNORMAL);
//“声音”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL access.cpl,,2’,
SW_SHOWNORMAL);
//“显示”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
access.cpl,,3’, SW_SHOWNORMAL);
//“鼠标”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL access.cpl,,4’,
SW_SHOWNORMAL);
//“常规”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
access.cpl,,5’, SW_SHOWNORMAL);
//密码设置,没有提供参数区分“更改密码”和“修改用户配置”两个属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Password.cpl’, SW_SHOWNORMAL);
//区域设置,可有ItemNo参数
//“区域设置”属性页
WinExec(’RunDLL32.exe
Shell32.dll,Control_RunDLL Intl.cpl,,0’,
SW_SHOWNORMAL);
//“数字”属性页
WinExec(’RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,1’, SW_SHOWNORMAL);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:OpenGL的原理
下一篇:在DELPHI程序中拨号上网
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash