一、Windows 的控制面板应用程序
在 Windows 的系统目录下可以找到控制面板应用程序,它们是一些扩展名为 cpl 的 dll,
通常用来提供配置服务,如配置网络硬件和软件用的 ncpa.cpl,配置桌面用的 desk.cpl 等,
它们的父窗口都是桌面。运行这类程序的方法很多:双击控制面板中的图标、双击系统目录
下的 cpl 文件,或者使用如下 DOS 命令:
rundll32 shell32.dll,Control—RunDLL [@n]或者 control [@n]
其中@n 用于指定运行哪一个小程序(一个 cpl 文件中可包含多个小程序),若不带此参
数则相当于@0,即运行第一个小程序。例如:
Rundll32 shell32.dll,Control—RunDLL main.cpl @n
若不带@n 参数,则运行鼠标设置;@1 则运行键盘设置;@2 则运行打印机设置;@3 则显
示系统字体。Control—RunDLL 是 shell32.dll 中定义的一个函数,大小写敏感,用于启动
控制面板。
通过控制面板应用程序来提供配置服务是一种很好的方法,那么如何设计这种应用程序
呢?下面以 Visual C++6.0 为例进行介绍。
二、开发控制面板应用程序
若希望一个文件传输程序启动后自动连接到某一个站点,就需要为其提供一些缺省值,
如:服务器名、用户名、口令等。下面就开发一个控制面板应用程序来提供这些缺省值,具
体步骤为:
1.创建一个“MFC AppWizard (dll)”类型的项目,命名为:MyCplApp,选择“Regular
DLL With MFC statically linked”,使它的运行不依赖于其它任何 dll。
2.选择 Project 选单下的 Settings 项或按 Alt+F7,在 Link 页中将输出文件名改为:
\Mycplapp.cpl , 在 Debug 页 中 将 “Executable for debug session” 改 为 :
\Control.exe,以便直接用控制面板运行。对于 Win9x,为 System,对于 WinNT,为
System32。
3.从 MSDN Library Visual Studio 6.0 光盘的 Samples 目录中找到 Ctrlpan.cpp 和
Ctrlpan.h 文件,并把它们加到项目中。
4.创建如图 1 所示对话框,代号为:IDD—MYDIALOG,用 Class Wizard 创建一个
CMyDialog 类。为每个控件创建成员变量,如“FTP 服务器”对应的成员变量定义为:CString
m—strServer。