为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Delphi 程序版本及更新时间检测代码

Delphi 程序版本及更新时间检测代码

2018-05-28 4页 doc 17KB 17阅读

用户头像

is_531654

暂无简介

举报
Delphi 程序版本及更新时间检测代码Delphi 程序版本及更新时间检测代码 [code delphi] function GetVersionString(FileName: string): string; //得到文件版本 var VerInfoSize: DWORD; VerInfo: Pointer; VerValueSize: DWORD; Dummy: DWORD; VerValue: PVSFixedFileInfo; begin Result := ''; VerInfoSize := GetFileVersionInfo...
Delphi 程序版本及更新时间检测代码
Delphi 程序版本及更新时间检测代码 [code delphi] 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; function GetFileCreationTime(const Filename: string): TDateTime; //获应用程序时间 var Data: TWin32FindData; H: THandle; FT: TFileTime; I: Integer; begin { Data.ftCreationTime: TFileTime; //创建时间 Data.ftLastAccessTime: TFileTime; //最后访问时间 Data.ftLastWriteTime: TFileTime; //最后修改时间 } H := FindFirstFile(PCHAR(Filename), Data); if H <> INVALID_HANDLE_VALUE then begin try FileTimeToLocalFileTime(Data.ftLastWriteTime, FT); FileTimeToDosDateTime(FT, LongRec(I).Hi, LongRec(I).Lo); Result := FileDateToDateTime(I); finally Windows.FindClose(H); end end else begin Result := 0; end; end; procedure TForm1.Button1Click(Sender: TObject); var exeFn:string; //程序名 exeFnP:string; //文件全名 exeLastUpdate:TDateTime; //最后更新时间 exeVer:string; //版本号; dbLastUpdate:TDateTime; begin exeFnP:=application.exename; //获文件全名(含路径) exeFn:=extractfilename(exeFnP); //获程序名(不含路径) exeLastUpdate:=GetFileCreationTime(exeFnP); exeVer:=GetVersionString(exeFnP); adoquery1.SQL.Clear; adoquery1.SQL.Text:='select * from Ver where fileName='''+exeFn+''''; adoquery1.Open; if not adoquery1.Eof then begin dbLastUpdate:=adoquery1.fieldbyname('FileUpdate').Value; end else begin //如果没有记录,写入新记录 adoquery1.Append; adoquery1.FieldByName('Filename').Value:=exeFn; adoquery1.FieldByName('FileVer').Value:=exeVer; adoquery1.FieldByName('FileUpdate').Value:=exeLastUpdate; adoquery1.Post; end; if dbLastUpdateexeLastUpdate then //程序版本不是最新版本 application.MessageBox(pchar(exeFn+'已有新的版本,请升级至最新版本~'),'升级 提示',MB_OK+MB_ICONEXCLAMATION); memo1.text:=datetimetostr(dbLastUpdate)+'><'+datetimetoStr(exeLastUpdate); end; [/code]
/
本文档为【Delphi 程序版本及更新时间检测代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索