unit MessageCentre; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cefvcl, FlatForm, ceflib, CnCommon; type TMessageCentreForm = class(TFlatForm) chrm1: TChromium; procedure chrm1BeforeDownload(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); procedure chrm1DownloadUpdated(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); private { Private declarations } public { Public declarations } end; var MessageCentreForm: TMessageCentreForm; implementation {$R *.dfm} procedure TMessageCentreForm.chrm1BeforeDownload(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); begin callback.Cont(MakePath(GetMyDocumentsDir) + 'download\' + suggestedName, true); end; procedure TMessageCentreForm.chrm1DownloadUpdated(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); begin if (downloadItem.IsComplete) and (MessageBox(Handle, '文件下载完成,是否打开文件所在目录? ', '提示', MB_OKCANCEL + MB_ICONQUESTION) = ID_OK) then begin ExploreFile(downloadItem.FullPath); end; end; end.