
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
一、Windows的控制面板应用程序
在Windows的系统目录下可以找到控制面板应用程序,它们是一些扩展名为cpl的dll,通常用来提供配置服务,如配置网络硬件和软件用的ncpa.cpl,配置桌面用的desk.cpl等,它们的父窗口都是桌面。运行这类程序的方法很多:双击控制面板中的图标、双击系统目录下的cpl文件,或者使用如下DOS命令:
rundll32 shell32.dll,Control—RunDLL
其中@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页中将输出文件名改为:
3.从MSDN Library Visual Studio 6.0光盘的Samples目录中找到Ctrlpan.cpp 和Ctrlpan.h 文件,并把它们加到项目中。
4.创建如图1所示对话框,代号为:IDD—MYDIALOG,用Class Wizard创建一个CMyDialog类。为每个控件创建成员变量,如“FTP服务器”对应的成员变量定义为:CString m—strServer。
图1
5.引入或新建一个ICON,代号为:IDI—MYICON,用于控制面板中显示。
6.从CControlPanel类(在Ctrlpan.h中定义)继承一个新类CMyPanel,修改MyPanel.h文件:
#include ″Ctrlpan.h″
class CMyPanel : public CControlPanel
{ public:
virtual LONG OnInquire(UINT uAppNum, NEWCPLINFO* pInfo);
virtual LONG OnDblclk(HWND hwndCPl, UINT uAppNum, LONG lData);
};//两个虚拟函数由读者加入