程序调用控制面板设置
【打印文章】
目录下的一个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);
//“货币”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,2', SW_SHOWNORMAL);
//“时间”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,3', SW_SHOWNORMAL);
//“日期”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,4', SW_SHOWNORMAL);
//日期/时间设置,可有ItemNo参数
//“日期和时间”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
TimeDate.cpl,,0', SW_SHOWNORMAL);
//“时区”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
TimeDate.cpl,,1', SW_SHOWNORMAL);
//鼠标设置,没有提供参数区别“按钮”、
“指针”和“移动”三个属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Main.cpl', SW_SHOWNORMAL);
//添加/删除程序设置,可有ItemNo参数
//“安装/卸载”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
AppWiz.cpl,,1', SW_SHOWNORMAL);
//“Windows安装程序”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
AppWiz.cpl,,2', SW_SHOWNORMAL);
//“启动盘”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
AppWiz.cpl,,3', SW_SHOWNORMAL);
//网络设置,没有提供参数区别“配置”、
“标识”和“访问控制”三个属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
NetCpl.cpl', SW_SHOWNORMAL);
//系统设置,
//“常规”属性页, 可有ItemNo参数
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,0', SW_SHOWNORMAL);
//“设备管理器”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,1', SW_SHOWNORMAL);
//“硬件配置文件”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,2', SW_SHOWNORMAL);
//“性能”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,3', SW_SHOWNORMAL);
//显示设置, 可有ItemNo参数
//“背景”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,0', SW_SHOWNORMAL);
//“屏幕保护程序”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,1', SW_SHOWNORMAL);
//“外观”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,2', SW_SHOWNORMAL);
//“设置”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,3', SW_SHOWNORMAL);
//游戏控制器设置,可有ItemNo参数
//“一般”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Joy.cpl,,0', SW_SHOWNORMAL);
//“高级”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Joy.cpl,,1', SW_SHOWNORMAL);
//扫描仪与数字相机设设置,没有提供参数区分
“设备”和“记录设置”两个属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
StiCpl.cpl', SW_SHOWNORMAL);
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);
//“货币”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,2', SW_SHOWNORMAL);
//“时间”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,3', SW_SHOWNORMAL);
//“日期”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Intl.cpl,,4', SW_SHOWNORMAL);
//日期/时间设置,可有ItemNo参数
//“日期和时间”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
TimeDate.cpl,,0', SW_SHOWNORMAL);
//“时区”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
TimeDate.cpl,,1', SW_SHOWNORMAL);
//鼠标设置,没有提供参数区别“按钮”、
“指针”和“移动”三个属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Main.cpl', SW_SHOWNORMAL);
//添加/删除程序设置,可有ItemNo参数
//“安装/卸载”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
AppWiz.cpl,,1', SW_SHOWNORMAL);
//“Windows安装程序”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
AppWiz.cpl,,2', SW_SHOWNORMAL);
//“启动盘”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
AppWiz.cpl,,3', SW_SHOWNORMAL);
//网络设置,没有提供参数区别“配置”、
“标识”和“访问控制”三个属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
NetCpl.cpl', SW_SHOWNORMAL);
//系统设置,
//“常规”属性页, 可有ItemNo参数
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,0', SW_SHOWNORMAL);
//“设备管理器”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,1', SW_SHOWNORMAL);
//“硬件配置文件”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,2', SW_SHOWNORMAL);
//“性能”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
SysDm.cpl,,3', SW_SHOWNORMAL);
//显示设置, 可有ItemNo参数
//“背景”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,0', SW_SHOWNORMAL);
//“屏幕保护程序”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,1', SW_SHOWNORMAL);
//“外观”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,2', SW_SHOWNORMAL);
//“设置”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
desk.cpl,,3', SW_SHOWNORMAL);
//游戏控制器设置,可有ItemNo参数
//“一般”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Joy.cpl,,0', SW_SHOWNORMAL);
//“高级”属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
Joy.cpl,,1', SW_SHOWNORMAL);
//扫描仪与数字相机设设置,没有提供参数区分
“设备”和“记录设置”两个属性页
WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL
StiCpl.cpl', SW_SHOWNORMAL);
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】