zoukankan      html  css  js  c++  java
  • 获得文件版本信息

    //MMWIN:MODULECOPY

    unit _MM_Copy_Buffer_;

    interface


    implementation

    procedure GetBuildInfo(var AProductName, AVer, ALegalCopyright: string);
    var
    VerInfoSize: DWORD;
    GetInfoSizeJunk: DWORD;
    VersionInfo: Pointer;
    Translation: Pointer;
    InfoPointer: Pointer;
    VersionInfoSize: UINT;
    VersionValue: string;
    begin
    AProductName := '默认名称';
    ALegalCopyright := 'Copyright(C) xxxx有限公司。2008';
    AVer := '---';

    VerInfoSize := GetFileVersionInfoSize(Pchar(ParamStr(0)), GetInfoSizeJunk);
    if VerInfoSize <= 0 then
    Exit;

    GetMem(VersionInfo, VerInfoSize);
    try
    GetFileVersionInfo(Pchar(ParamStr(0)), 0, VerInfoSize, VersionInfo);
    //得到文件的版本资源
    VerQueryValue(VersionInfo, '""VarFileInfo""Translation',
    Translation, VersionInfoSize);
    VersionValue := '""StringFileInfo""' +
    IntToHex(LoWord(LongInt(Translation^)), 4) +
    IntToHex(HiWord(LongInt(Translation^)), 4) +
    '""';

    VerQueryValue(VersionInfo, PChar(VersionValue + 'FileVersion'),
    InfoPointer, VersionInfoSize);
    AVer := string(PChar(InfoPointer));

    VerQueryValue(VersionInfo, PChar(VersionValue + 'LegalCopyright'),
    InfoPointer, VersionInfoSize);
    ALegalCopyright := string(PChar(InfoPointer));

    VerQueryValue(VersionInfo, PChar(VersionValue + 'ProductName'),
    InfoPointer, VersionInfoSize);
    AProductName := string(PChar(InfoPointer));

    finally
    FreeMem(VersionInfo, VerInfoSize);
    end;

    end;

    end.

    提取其他字段方法,方法相同。只要修改一下名字就可以了

    OriginalFilename //原文件名称
    CompanyName //公司名称 
    FileDescription //文件描述
    FileVersion //文件的版本
    InternalName //内部名称 
    LegalCopyright //合法版权
    LegalTrademarks //合法商标
    ProductName //产品名称
    ProductVersion //产品版本
    Comments //备注 

  • 相关阅读:
    VC++6.0程序打开文件内存错误解决方法
    c++ vc6.0环境sp6补丁
    Net 应用程序如何在32位操作系统下申请超过2G的内存
    DataTable 排序
    VC UI 界面库
    让CSS兼容IE和Firefox的技巧集合
    两句CSS属性让点击图片链接时的虚线框消失
    一个常用的表单文本框input输入提示
    Css优先级分析
    清除浮动四种方法
  • 原文地址:https://www.cnblogs.com/gleam/p/1245751.html
Copyright © 2011-2022 走看看