请各位高手指教,我想利用DELPHI自动编译的版本号来做程序自动更新下载,我的程序中有EXE和DPL,
我现在用GetFileVersionInfo函数能提取出EXE的版本号,但是提取不出来BPL的版本号,请问BPL的版本号该怎么提啊???
我现在用GetFileVersionInfo函数能提取出EXE的版本号,但是提取不出来BPL的版本号,请问BPL的版本号该怎么提啊???
解决方案 »
- delphi7 里面没有TEncoding这个类怎么办?
- 多线程下三层结构的数据库访问
- idftp 上传
- 去注册!我得金蛋,你得分
- 很搞的问题,太搞了!
- Qreport的preview
- 关于在ACCESS 中 用SQL语句 导入 另一个带 密码的 数据库 的问题!!!!!!!!!!!!
- 哪儿有Delphi6 Update Pack 2下载?
- 太惭愧了,为什么只能显示记录集的第一个记录???帮帮小妹,555555~~~~~
- 如何判断一个线程是否正在运行?急!!!!!!!!!!!!!!!!!!!!!!!!!
- 求fastreport在D6下可使用版本,版本没什么要求,稳定能用就好
- 关于delphi及所开发的应用系统的版权问题。请大家给点意见和指导
http://community.csdn.net/Expert/topic/4769/4769828.xml?temp=.4881861
function GetVersionString(FileName: string): string;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
Dummy: DWORD;
VerValue: PVSFixedFileInfo;
begin
Result := '';
VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
if VerInfoSize = 0 then Exit;
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize); Result := IntToStr(VerValue^.dwFileVersionMS shr 16) + '.' +
IntToStr(VerValue^.dwFileVersionMS and $FFFF) + '.' +
IntToStr(VerValue^.dwFileVersionLS shr 16) + '.' +
IntToStr(VerValue^.dwFileVersionLS and $FFFF);
FreeMem(VerInfo);
end;
可以取出bpl的版本号的啊测试代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetVersionString('d:\Program Files\Borland\Delphi7\Bin\applet70.bpl'));
end;---------------------------
Project1
---------------------------
7.0.4.453
---------------------------
OK
---------------------------