目录下的一个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
Mmsy