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 //备注 

  • 相关阅读:
    清理一瓶花茶中的虫子
    一些网上的新信息安全问题
    对于秋季高程备课的随笔
    用共享单车第一次遇到程序出现问题的思考
    开始带学生的一些感受
    对近期北辰开会的一些总结
    WSN和RFID书上好多问题:关于S50
    统计课设成绩用到excel画成绩频率分布曲线
    linux 常用命令
    局域网 ARP 欺骗原理详解
  • 原文地址:https://www.cnblogs.com/gleam/p/1245751.html
Copyright © 2011-2022 走看看