Krissi

Short description of the space

学习编写一个完整的 Windows 应用程序

从 C 语言,到常见的 setup.exe 安装程序,究竟有多远?怎样实现双击 .xls 文件会自动启动 excel 并加载?这篇文章就解释这个问题。

请跟随以下步骤:

1. 编写应用程序。为了叙述方便,暂且叫 test.exe 吧。通常 test.exe 中会用若干 scanf 或 cin 来读取用户输入的参数,并根据参数来执行程序,这是大家在学习 C 语言的过程中见到的。

2. 要规定程序所需数据的格式。例如,word 需要使用 .doc 格式的数据,photoshop 需要使用 .psd 格式的数据。不管这些数据文件是文本的还是二进制的,只有格式确定下来,程序才能按照原定意图解释数据。数据格式就是将用户输入的全部数据都放进一个文件中,然后将 scanf 语句修改为读取该文件(读文件的程序部分请参考相关书籍)。

3. 设置文件关联。在上一步我们规定了一个我们需要的数据格式,现在给这个格式的文件自定一个扩展名,比如叫 .abc,然后双击该文件,Windows 会提示用户选择打开该类型的程序,我们选择步骤 1 编写的应用程序。不过这时候,程序并没有什么响应。

4. 修改应用程序以处理用户双击 .abc 类型的文件。例如,当用户双击文件 my.abc 时,Windows 会调用 test.exe my.abc,也就是说,会把用户要打开的文件当做参数传递给 test.exe。所以,需要通过 main 函数的 argc / argv 参数,来获取用户双击的文件名。然后将该文件名放在第二步中读取。

5. 制作安装程序。为什么要制作安装程序呢?通过以上四个步骤可以看到,使用户双击 .abc 类型的文件能生效,必须要设置文件关联,将 .abc 类型关联到 test.exe 上。但是总不能让用户来手工做这个操作吧?Windows 所有文件关联的设置都保存在注册表里面,我们需要通过安装程序来修改注册表,自动注册文件关联。安装程序的执行解压文件、拷贝文件、注册文件关联等都是常规任务,常见的制作安装程序的软件都可以完成,不需要我们自己写程序的。用安装程序软件可以很简单的生成 setup.exe 安装程序,并且在安装后自动出现在“添加/删除程序”中,再或者添加桌面图标等等。

至此,经过以上几个步骤就可以做出来一个完整的 Windows 应用程序。

顺便,这里给出一个包含以上全部步骤的 Windows 应用程序:EasyIFS 1.0,一个开源的分形学 IFS 演示程序,可以依据 IFS 数据文件中定义的参数生成图像。下载地址:http://www.easyx.cn/downloads/View.aspx?id=3。该程序包含全部的 VC6 源代码。

分享到

添加评论