首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

获取文件版本异常

2012-02-25 
获取文件版本错误获取文件版本的代码,参考 http://hi.baidu.com/broland/blog/item/d6209245ff184845510ff

获取文件版本错误
获取文件版本的代码,参考 http://hi.baidu.com/broland/blog/item/d6209245ff184845510ffe9a.html
测试很多文件都正常,但是我发现在获取腾讯RTX主文件RTX.exe的时候,“文件版本”是错误的

不知道怎么回事


[解决办法]

Delphi(Pascal) code
//获取文件版本号 参数为完整路径function GetFileVersion(FileName: string): string;var  Buf, p            : PChar;  sver              : ^VS_FIXEDFILEINFO;  I                 : LongWord;  Ma, Mi, R, B      : Integer;begin  Result := '1.0.0.0';                  //默认  if not FileExists(FileName) then    Exit;  I := GetFileVersionInfoSize(PChar(FileName), I);  new(sver);  p := PChar(sver);  GetMem(Buf, I);  ZeroMemory(Buf, I);  if GetFileVersionInfo(PChar(FileName), 0, 4096, Pointer(Buf)) then    if VerQueryValue(Buf, '\', Pointer(sver), I) then    begin      Ma := sver^.dwFileVersionMS shr 16;      Mi := sver^.dwFileVersionMS and $0000FFFF;      R := sver^.dwFileVersionLS shr 16;      B := sver^.dwFileVersionLS and $0000FFFF;      Result := IntToStr(Ma) + '.'        + IntToStr(Mi) + '.'        + IntToStr(R) + '.'        + IntToStr(B);    end;  Dispose(p);  FreeMem(Buf);end; 

热点排行