用Delphi实现动态获取版本信息
日期:2007年6月29日 作者: 查看:[大字体 中字体 小字体]-
文件版本信息的存在使得应用程序正确的安装文件变得简单,并且使安装程序能够分析文件的当前安装状态。通常,版本信息应该包括文件的版本号、文件功能描述以及文件作者等多项重要内容。
在应用层面上,程序员可以通过保存在应用程序文件或动态链接库文件中的版本信息判断一个文件是否应该被安装,并确定当前安装文件的冲突。在文件有了版本信息这个属性后,我们编写的程序就能够实现以下功能:
1. 避免在新版本的组件上安装旧版本的相同组件;
2. 在多语言系统环境中,操作系统根据文件版本信息里提供的语言信息在启动程序时决定使用的正确语言;
3. 可以防止在不同的路径下安装多个文件的拷贝;
4. 应用程序在运行时,便能判断文件的版本是否正确;
5. 在应用程序的关于对话框中显示可执行文件的版本号;
6. 在线升级程序可以判断一个文件是否因为版本过旧,从而进行必要的文件升级。
因为Windows系统在设计上的先天缺陷,其使用的FSO并不支持文件的版本信息功能。为了能对文件的版本信息进行管理,微软在Platform SDK(平台软件开发工具包)中通过API(可编程接口)的方式为软件开发人员提供了管理版本信息的方法。这些API是GetFileVersionInfo、GetFileVersionInfo、VerFindFile、VerInstallFile和VerQueryValue,它们被存放在Windows系统目录下一个被命名为VERSION.DLL的动态链接库文件中。
在Windows系统中任何可以包含Windows资源的文件都可以包含版本信息,比如动态链接库文件、可执行文件、字体文件等。版本信息被包装成一个VERSIONINFO结构的资源,通过编译器打包进这些文件中。
本文试图通过分别讲解这些API的使用方法,向读者介绍在Delphi中通过编程的方法,怎样实现在运行时动态获取程序文件版本信息的功能。
一、几个重点版本信息函数的使用方法
在Windows操作系统中采用语言标识符来区别不同的自然语言,语言标识符是一个32位的无符号整数,一个数值唯一对应一种自然语言。因此,除了前面列出的五个函数外,在我们编写程序的时候还会经常使用到VerLanguageName函数,通过调用这个函数,我们的程序便能够自由的在用整数表示的语言标识符和用字符串表示的语言名称之间进行转换。
以下便是用于处理版本信息函数的完整列表。须要注意的是:1. 在Windows NT 3.51或更早版本的操作系统中,版本信息函数不能操作16位的Windows文件像(File Image);2. 在Windows 95/98/Me/NT4/2000操作系统中,这些函数同时可以操作16位和32位两种文件像;3. 在Windows XP操作系统中,这些函数同时可以操作16位、32位和64位共三种文件像。
[插入表格1]
在这篇文章中,我们将着重介绍GetFileVersionInfo、GetFileVersionInfoSize、VerLanguageName和VerQueryValue这四个函数的使用方法。在实际应用时,其余的两个函数很少使用,因此不作为重点内容进行介绍。 - [1] [2] [3] [4] [5] [6] 下一页
-
- 用Delphi实现动态获取版本信息 相关文章:
- ·还原Windows Vista所有被隐藏更新及信息
- ·黑客入侵前的信息收集
- ·QQ盗号木马盗取帐号与重要信息
- ·.NET中取得IP/用户名等信息常用方法
- ·窗口偷窥者监视IE盗取用户信息
- ·内容拷贝增加版权信息的JavaScript代码
- ·个人信息安全迫在眉睫
- ·QQ2007II Beta1新版QQ群消息设置技巧
- ·网站信息被抄袭 找查发状告客齐集
- ·WPS表格提取身份证详细信息
- 用Delphi实现动态获取版本信息 相关软件
- ·大息地网络诗歌杂志2005第1期
- ·AAA Words--高等教育自学考试英语词汇全息速记 V3.1
- ·2005年中考试题信息的传递
- ·高等教育自学考试英语词汇全息速记
- ·电子商务市场信息学试卷
- ·建设监理师之建设工程信息管理部分
- ·2005版监理考试用书-信息管理
- ·2005监理考试过关题库-信息
- ·监理工程师执业考试信息管理部分模拟试题
- ·监理工程师执业考试信息管理部分模拟试题
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·Delphi下的ADO使用方法!
- ·在Delphi中实现数据分析模块的动态报表
- ·在Delphi中控制扫描仪
- ·用拼音首字符来实现检索功能
- ·让Delphi的DBGrid支持鼠标轮
- ·自 动 隐 藏 的 声 象 按 钮
- ·OpenGL简介
- ·用Delphi制作动态有声标签
- ·从 实 例 看 Delphi 4 中 的 动 态
- ·Delphi中为DBGrid控件添加色彩
- ·常用的BCB & Delphi 函数
- ·产生不重复随机数的简便算法
- ·陈经韬2002原创资料
- ·Delphi2005试用版安装指南
- ·Delphi中ListBox控件的六种特效
- ·第三方控件使用方法
- ·关于SMTP和POP3使用及关于客户-服务端的自动连线问题
- ·关于MP3中的ID3V2格式探讨及我写的ID3V2读取源码
- ·监视打印机部分线程内容
- ·获取其他进程中ListView的文本
