zoukankan      html  css  js  c++  java
  • delphi内取文件版本信息

    unit UVersionInfo;

    interface

    uses Windows, SysUtils;

    function GetVersionValue(FileName,QueryName:
    string):String;

    implementation

    function GetVersionValue(FileName,QueryName:
    string):String;
    var
      InfoSize, Wnd: DWORD;
      VerBuf: Pointer;
      szName: array[
    0..255] of Char;
      Value: Pointer;
      Len: UINT;
      TransString:
    string;
    begin
      InfoSize :
    = GetFileVersionInfoSize(PChar(FileName), Wnd);
      
    if InfoSize <> 0 then
      begin
        GetMem(VerBuf, InfoSize);
        
    try
          if GetFileVersionInfo(PChar(FileName), Wnd, InfoSize, VerBuf) then
          begin
            Value :
    =nil;
            VerQueryValue(VerBuf, 
    'VarFileInfoTranslation', Value, Len);
            
    if Value <> nil then
               TransString :
    = IntToHex(MakeLong(HiWord(Longint(Value^)), LoWord(Longint(Value^))), 8);
            Result :
    = '';
            StrPCopy(szName, 
    'StringFileInfo'+Transstring+''+QueryName);
            if VerQueryValue(VerBuf, szName, Value, Len) then
               Result :
    = StrPas(PChar(Value));
          end;
        
    finally
          FreeMem(VerBuf);
        end;
      end;
    end;

    end.

  • 相关阅读:
    HRBUST 1377 金明的预算方案
    51Nod 2649 完全背包
    计蒜客 T2129 采药
    计蒜客 T1408 矩形嵌套
    OpenJudge 2711 合唱队形
    51Nod 2080 最长上升子序列
    2021NUAA暑假集训 Day5 部分题解
    2021NUAA暑假集训 Day4 部分题解
    C++ 11 move constructor 何时调用?
    老外这样说英文
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631495.html
Copyright © 2011-2022 走看看