使用VerQueryValue函数得到文件的版本号,得到的结果不正确,这是为什么,我使用的方法是:
InfoSize := GetFileVersionInfoSize(PChar('C:\WINNT\system32\a3d.dll'), Wnd); if InfoSize <> 0 then
begin
GetMem(VerBuf, InfoSize);
try
if GetFileVersionInfo(PChar('C:\WINNT\system32\a3d.dll'), Wnd, InfoSize, VerBuf) then
if VerQueryValue(VerBuf, '', Pointer(FI), VerSize) then
www := FI.dwFileVersionlS;
finally
FreeMem(VerBuf);
end;
end;
InfoSize := GetFileVersionInfoSize(PChar('C:\WINNT\system32\a3d.dll'), Wnd); if InfoSize <> 0 then
begin
GetMem(VerBuf, InfoSize);
try
if GetFileVersionInfo(PChar('C:\WINNT\system32\a3d.dll'), Wnd, InfoSize, VerBuf) then
if VerQueryValue(VerBuf, '', Pointer(FI), VerSize) then
www := FI.dwFileVersionlS;
finally
FreeMem(VerBuf);
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货