服务器中exe文件版本号的提取(0分)

  • 主题发起人 主题发起人 xtaiss
  • 开始时间 开始时间
X

xtaiss

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]在局域网中,我的服务器IP地址为10.192.2.1,在客户端我想读取服务器中file文件夹中的myfile.exe文件的版本号。我使用了getfileversion(pchar('http://10.192.2.1/file/myfile.exe');但是得到的是错误的信息,不知是怎么回事?
 
得到版本号的函数对吗?
 
GetExeFileVersion(pchar('//10.192.2.1/file/myfile.exe');
前提是10.192.2.1有File这个共享目录,而且你有读取的权限。
function GetExeFileVersion(FileName:String):String;
var InfoSize,Wnd:DWORD;
VerBuf:Pointer;
VerInfo:^VS_FIXEDFILEINFO;
begin
Result:='';
InfoSize:=GetFileVersionInfoSize(PChar(FileName),Wnd);
if InfoSize<>0 then
begin
GetMem(VerBuf,InfoSize);
try
if GetFileVersionInfo(PChar(FileName),Wnd,InfoSize,VerBuf) then
begin
VerInfo:=nil;
VerQueryValue(VerBuf,'/',Pointer(VerInfo),Wnd);
if VerInfo<>nil then Result:=Format('%d.%d.%d.%d',[VerInfo^.dwFileVersionMS shr 16,
VerInfo^.dwFileVersionMS and $0000ffff,
VerInfo^.dwFileVersionLS shr 16,
VerInfo^.dwFileVersionLS and $0000ffff]);
end;
finally
FreeMem(VerBuf,InfoSize);
end;
end;
end;
 
后退
顶部