如何获取一个可执行文件的版本号? 如何获取一个可执行文件的版本号? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function GetFileVersion(fn: string; var ma, mi, r ,b: integer):boolean;//得到本程序的版本号var buf, p: pChar; sver: ^VS_FIXEDFILEINFO ; i: LongWord;begin i:= GetFileVersionInfoSize(pchar(fn), i); new(sver); p:= pchar(sver); GetMem(buf, i); ZeroMemory(buf, i); result:= false; if GetFileVersionInfo(pchar(fn), 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:= true; end; Dispose(p); FreeMem(buf);end; 请大家帮忙看看我的鼠标钩子有什么问题?双击消息得不到。 文件正在写入,我如何用软件读取? cxClasses, cxStyles,上述该控件在哪里可以下载 help,如何获得字段名对应的表名 在线程里统计流水号老出错,请高手提个方案 菜鸟提问,大虾援手! 如何调用ms sql server的API呢? 如何获取系统的输入法信息 delphi 自动编号 access数据库 百思不得其解:一个转换数据集到WORD、EXCEL的CGI程序问题!! 用Delphi做VPN那样的软件的问题 到底如何才算懂面向对象编程了?
var
buf, p: pChar;
sver: ^VS_FIXEDFILEINFO ;
i: LongWord;
begin
i:= GetFileVersionInfoSize(pchar(fn), i);
new(sver);
p:= pchar(sver);
GetMem(buf, i);
ZeroMemory(buf, i);
result:= false;
if GetFileVersionInfo(pchar(fn), 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:= true;
end;
Dispose(p);
FreeMem(buf);
end;