用Delphi实现动态获取版本信息
日期:2007年6月29日 作者: 查看:[大字体 中字体 小字体]-
ProductVersion.Caption := '产品版本: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[3]), Pointer(Value), Len) then
FileDescription.Caption := '文件说明: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[4]), Pointer(Value), Len) then
LegalCopyright.Caption := '合法版权: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[5]), Pointer(Value), Len) then
FileVersion.Caption := '文件版本: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[6]), Pointer(Value), Len) then
CompanyName.Caption := '公司名称: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[7]), Pointer(Value), Len) then
LegalTrademarks.Caption := '合法商标: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[8]), Pointer(Value), Len) then
InternalName.Caption := '内部名称: ' + Value;
if VerQueryValue(Buf, PChar('StringFileInfo\080403A8\' + InfoStr[9]), Pointer(Value), Len) then
OriginalFilename.Caption := '原文件名: ' + Value;
FreeMem(Buf, BufSize);
// OperatingSystem.Caption := GetOSVerInfo;
// SystemMemory.Caption := GetMemStat;
end
else begin
Application.MessageBox('获取产品信息时遇到致命错误,请尝试重新启动软件。'+ #13 + '若仍未能解决问题,请联系产品服务人员。','错误',MB_OK + MB_ICONSTOP);
Application.Terminate;
end;在这段代码中,首先通过调用GetFileVersionInfoSize()函数获得在内存中存储版本信息资源所需要的最小内存空间大小。如果函数的返回值小于等于0,则函数调用失败,继而程序转入错误处理部分。在这部分的错误处理代码中,程序会提示用户程序运行实现错误,并要求用户重新启动软件。
// OperatingSystem.Caption := GetOSVerInfo;
如果函数调用成功,程序将通过AllocMem()函数向操作系统申请一块内容空间,用于保存从文件中获得的版本信息资源。
此后,利用GetFileVersionInfo()函数从文件中得到版本信息。但这些信息对我们来说是不可读的,因为它们都是一些二进制的编码。在随后的程序中,通过一连串对VerQueryValue()函数的调用,我们得到了文件的版本信息,并把它们显示在这个关于对话框窗体中正确的位置上。
在使用完这些信息后,我们一定要记住用FreeMem()函数释放前面用AllocMem()函数分配的内存,否则就会出现内存泄漏。和
// SystemMemory.Caption := GetMemStat;这两行代码调用的两个函数是我自己编制的,分别用于获取操作系统版本信息和内存信息。前面已经说过,由于篇幅的关系,我们在这里暂时跳过这两行代码,不去管它。反正程序已经可以正常的运行了。
- 上一页 [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的文本
