DELPHI使用调用Chrome/Edge内核浏览器,虽然旧的WebBrowser也还可以用,但大势所趋,新版的已经不需要使用第三方的组件了,算是全内置的开发了,不废话
Unit1 源码 + Form 源码
unit Unit1;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Winapi.WebView2, Winapi.ActiveX,Vcl.Buttons, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Edge, Vcl.OleCtrls, SHDocVw;typeTForm1 = class(TForm)EdgeBrowser1: TEdgeBrowser;Panel1: TPanel;Edit1: TEdit;SpeedButton1: TSpeedButton;procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);procedure SpeedButton1Click(Sender: TObject);procedure EdgeBrowser1DocumentTitleChanged(Sender: TCustomEdgeBrowser;const ADocumentTitle: string);procedure EdgeBrowser1NavigationCompleted(Sender: TCustomEdgeBrowser;IsSuccess: Boolean; WebErrorStatus: COREWEBVIEW2_WEB_ERROR_STATUS);procedure EdgeBrowser1NavigationStarting(Sender: TCustomEdgeBrowser;Args: TNavigationStartingEventArgs);privateprocedure navigateto(url: String);{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.navigateto(url: String);
beginif not url.Contains('://') thenurl := 'http://' + url;EdgeBrowser1.Navigate(url);
end;procedure TForm1.EdgeBrowser1DocumentTitleChanged(Sender: TCustomEdgeBrowser;const ADocumentTitle: string);
beginCaption := 'Delphi 12.3 EdgeBrowser Demo (13316098767@qq.com) ' + EdgeBrowser1.DocumentTitle ;
end;procedure TForm1.EdgeBrowser1NavigationCompleted(Sender: TCustomEdgeBrowser;IsSuccess: Boolean; WebErrorStatus: COREWEBVIEW2_WEB_ERROR_STATUS);
beginedit1.text := EdgeBrowser1.LocationURL;
end;procedure TForm1.EdgeBrowser1NavigationStarting(Sender: TCustomEdgeBrowser;Args: TNavigationStartingEventArgs);
varuri : PWideChar;
beginArgs.ArgsInterface.Get_uri(uri);edit1.text := uri;
end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
beginif key = vk_return thenbeginnavigateto(edit1.Text);end;
end;procedure TForm1.SpeedButton1Click(Sender: TObject);
beginnavigateto(edit1.Text);
end;end.
object Form1: TForm1Left = 0Top = 0Caption = 'Delphi 12.3 EdgeBrowser Demo Test (13316098767@qq.com)'ClientHeight = 509ClientWidth = 899Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -12Font.Name = 'Segoe UI'Font.Style = []TextHeight = 15object EdgeBrowser1: TEdgeBrowserLeft = 0Top = 44Width = 899Height = 465Align = alClientTabOrder = 0AllowSingleSignOnUsingOSPrimaryAccount = FalseTargetCompatibleBrowserVersion = '117.0.2045.28'UserDataFolder = '%LOCALAPPDATA%\bds.exe.WebView2'OnDocumentTitleChanged = EdgeBrowser1DocumentTitleChangedOnNavigationStarting = EdgeBrowser1NavigationStartingOnNavigationCompleted = EdgeBrowser1NavigationCompletedendobject Panel1: TPanelLeft = 0Top = 0Width = 899Height = 44Align = alTopBevelOuter = bvNoneCaption = 'Panel1'TabOrder = 1object SpeedButton1: TSpeedButtonLeft = 855Top = 0Width = 44Height = 44Align = alRightCaption = '&G'Font.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -24Font.Name = 'Segoe UI'Font.Style = []ParentFont = FalseOnClick = SpeedButton1ClickExplicitHeight = 41endobject Edit1: TEditLeft = 0Top = 0Width = 855Height = 44Align = alClientFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -20Font.Name = 'Segoe UI'Font.Style = []ParentFont = FalseTabOrder = 0Text = 'http://www.google.com'OnKeyDown = Edit1KeyDownExplicitHeight = 36endend
end
发布是记得带上这个对应版本的DLL就好了
这个是csdn的效果
有疑问建议:+v 13316098767