⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wzjh50.htm

📁 对于学习很有帮助
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>在Delphi程序中调用控制面板设置功能</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<p align="center"><font color="#0000c0">在Delphi程序中调用控制面板设置功能 </font></p>
<div align="center">深圳 王发军 <br>
</div>
<p><font color="#ffffff">----</font> 
  应用程序运行时,有时需要对系统环境有特殊要求。例如,在Delphi数据库应用程序中可能需要进行 
BDE(Borland Database Engine)或ODBC数据源名称(DSN:Data Source Name)的设置;在网络应用程序中可能需要进行网络配置设置、Modem属性设置或用户拨号连接的帐号和密码的设置并保存在系统中;在 
CTI(Computer-Telephony Integration 
)应用程序中可能需要进行电话拨号属性的设置;在游戏程序中可能需要对多媒体或游戏控制器进行设置;等等。这时候就需要改变Windows系统的环境设置,以适应应用程序正常运行的要求。当应用程序不能自行进行环境设置时,可能需要软件用户来参与、协助完成设置。 
</p>

<p><font color="#ffffff">----</font> Win9X/NT的大多数系统设置是在控制面板中进行的。我们可以要求用户自己打开控制面板寻找相应的项目进行设置,此时要求用户对控制面板相当熟悉;也可以在程序中自动为用户打开控制面板并选择相应的项目,此时用户所做的只是进行设置。后一种方法无疑更具有友好性,更能提高用户的工作效率。 
</p>

<p><font color="#ffffff">----</font> 
  控制面板的大多数项目设置,都对应Windows的System目录下的一个CPL文件,如“Internet”属性对应的文件为InetCpl.cpl、“多媒体”属性对应的文件为MmSys.cpl等。通过调用这些文件可以打开相应的属性设置窗口,甚至可以跳到相应的属性页如“Internet”属性的“连接”属性页,有效减少软件用户的操作步骤。 
</p>

<p><font color="#ffffff">----</font>   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);”; 
</p>

<p><font color="#ffffff">----</font> 
解决2000年问题中对两位年份输入的解释要调用“区域设置”的“日期”属性页,可以用语句: 
“WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,4',, SW_SHOWNORMAL);”。 </p>

<p><font color="#ffffff">----</font> 
  控制面板各项目设置调用所对应的语句列表如下: </p>

<pre><font face="宋体">//打开控制面板
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);</font></pre>
</body>
</html>

<script LANUGAGE="JavaScript">
<!--
function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg)      
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}

if (GetCookie("MMC_PoiLove") != "ifght94567") {
window.open("http://www.21pop.com/pop.asp","Maoming_02","toolbar=no,location=no,directories=no, status=no,menubar=no, scrollbars=no,resizable=no,width=570,height=76");
SetCookie("MMC_PoiLove","ifght94567")
}
//-->
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -