Delphi 12.3调用Chrome/edge内核实现DEMO源码

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/80937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速搭建一个electron-vite项目

1. 初始化项目 在命令行中运行以下命令 npm create quick-start/electronlatest也可以通过附加命令行选项直接指定项目名称和你想要使用的模版。例如,要构建一个 Electron Vue 项目,运行: # npm 7,需要添加额外的 --: npm cre…

26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述

26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述 文章目录 26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述1.1 计算机的发展1.2 计算机硬件和软件1.2.1 计算机硬件的基本组成1.2.2 各个硬件的工作原理1.2.3 计算机软件1.2.4 计算机系统的层次结构1.2.5 计算机系统…

01-数据结构概述和时间空间复杂度

数据结构概述和时间空间复杂度 1. 什么是数据结构 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 2. 什么是算法 算法(Algorithm)就是定义良好的计算…

大数据架构选型全景指南:核心架构对比与实战案例 解析

目录 大数据架构选型全景指南:核心架构对比与实战案例解析1. 主流架构全景概览1.1 核心架构类型1.2 关键选型维度 2. 架构对比与选型矩阵2.1 主流架构对比表2.2 选型决策树 3. 案例分析与实现案例1:电商实时推荐系统(Lambda架构)案…

(51单片机)LCD显示红外遥控相关数字(Delay延时函数)(LCD1602教程)(Int0和Timer0外部中断教程)(IR红外遥控模块教程)

前言: 本次Timer0模块改装了一下,注意!!!今天只是简单的实现一下,明天用次功能显示遥控密码锁 演示视频: 在审核 源代码: 如上图将9个文放在Keli5 中即可,然后烧录在…

网络实验-防火墙双机热备份

实验目的 了解防火墙双机热备份配置,提供部署防火墙可靠性。 网络拓扑 左侧为trust域,右侧为untrust域。防火墙之间配置双机热备份。 配置内容 master VRRP 由于防火墙是基于会话表匹配回程流量,流量去向和回程必须通过同一个防火墙。…

【2025最新】VSCode Cline插件配置教程:免费使用Claude 3.7提升编程效率

 2025年最新VSCode Cline插件安装配置教程,详解多种免费使用Claude 3.7的方法,集成DeepSeek-R1与5大实用功能,专业编程效率提升指南。 Cline是VSCode中功能最强大的AI编程助手插件之一,它能与Claude、OpenAI等多种大模型无缝集…

考研英一真题学习笔记 2018年

2018 年全国硕士研究生招生考试 英语 (科目代码:201) Section Ⅰ Use of English Directions: Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Trust i…

华硕服务器-品类介绍

目录 一、核心产品线解析 1. 机架式服务器 2. 塔式服务器 3. 高密度计算服务器 二、关键技术与模组配置 1. 主板与管理模块 2. 电源与散热 3. 存储与网络 三、应用场景与行业解决方案 1. 人工智能与高性能计算 2. 云计算与虚拟化 3. 边缘计算与工业物联网 一、核心…

硅基计划2.0 学习总结 贰

一、程序逻辑控制(顺序、选择&循环) 顺序结构就不多介绍了,就是各个语句按照先后顺序进行执行 (1)选择结构 三大选择类型:if、if-else、if-else if-else以及悬浮else的问题 基本已经在之前在C语言文章…

RabbitMQ最新入门教程

文章目录 RabbitMQ最新入门教程1.什么是消息队列2.为什么使用消息队列3.消息队列协议4.安装Erlang5.安装RabbitMQ6.RabbitMQ核心模块7.RabbitMQ六大模式7.1 简单模式7.2 工作模式7.3 发布订阅模式7.4 路由模式7.5 主题模式7.6 RPC模式 8.RabbitMQ四种交换机8.1 直连交换机8.2 主…

工具学习_VirusTotal使用

VirusTotal Intelligence 允许用户在其庞大的数据集中进行搜索,以查找符合特定条件的文件,例如哈希值、杀毒引擎检测结果、元数据信息、提交时的文件名、文件结构特征、文件大小等。可以说,它几乎是恶意软件领域的“谷歌搜索引擎”。 网页使…

计算机系统----软考中级软件设计师(自用学习笔记)

目录 1、计算机的基本硬件系统 2、CPU的功能 3、运算器的组成 4、控制器 5、计算机的基本单位 6、进制转换问题 7、原码、反码、补码、移码 8、浮点数 9、寻址方式 10、奇偶校验码 11、海明码 12、循环冗余校验码 13、RISC和CISC 14、指令的处理方式 15、存储器…

扬州卓韵酒店用品:优质洗浴用品,提升酒店满意度与品牌形象

在酒店提供的服务里,沐浴用品占据了非常重要的地位,其质量与种类直接关系到客人洗澡时的感受。好的沐浴用品能让客人洗澡时感到舒心和快乐,反之,质量不好的用品可能会影响客人整个住宿期间的愉悦心情。挑选恰当的洗浴用品不仅能够…

学习笔记:黑马程序员JavaWeb开发教程(2025.4.5)

12.4 登录认证-登录校验-会话跟踪方案一 设置cookie,服务器给浏览器响应数据,通过control方法形参当中获取response,调用response当中的addCookie方法实现 获取cookie,调用getCookie方法 用户可以通过浏览器设置禁用cookie 跨域…

进程替换讲解

1. 基本概念 1.1 进程替换 vs. 进程创建 进程创建:使用fork()或clone()等系统调用创建一个新的子进程,子进程是父进程的副本,拥有相同的代码和数据。进程替换:使用exec系列函数在当前进程中加载并执行一个新的程序,替…

【微服务】SpringBoot + Docker 实现微服务容器多节点负载均衡详解

目录 一、前言 二、前置准备 2.1 基本环境 2.2 准备一个springboot工程 2.2.1 准备几个测试接口 2.3 准备Dockerfile文件 2.4 打包上传到服务器 三、制作微服务镜像与运行服务镜像 3.1 拷贝Dockerfile文件到服务器 3.2 制作服务镜像 3.3 启动镜像服务 3.4 访问一下服…

1.2.2.1.4 数据安全发展技术发展历程:高级公钥加密方案——同态加密

引言 在密码学领域,有一种技术被图灵奖得主、著名密码学家Oded Goldreich誉为"密码学圣杯",那就是全同态加密(Fully Homomorphic Encryption)。今天我们就来聊聊这个神秘而强大的加密方案是如何从1978年的概念提出&…

vllm量化03—INT4 W4A16

本系列基于Qwen2.5-7B,学习如何使用vllm量化,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。 测试环境为: OS: centos 7 GPU: nvidia l40 driver: 550.54.15 CUDA: 12.3本文是该系列第3篇——INT4 W4A16 一、量化 f…

第二十五天打卡

常见报错类型 try-except-else-finally 语句 首先执行try语句,若正确直接执行else语句 若try语句发生错误,则判断错误类型,执行错误类型对应的except语句,不执行else语句 finally语句无条件执行,多用于资源保存&…