cWebView2Host 属性参考
📋 属性总览
| 分类 | 属性 | 类型 | 读写 | 说明 |
|---|---|---|---|---|
| 状态 | IsReady | Boolean | 只读 | WebView2 是否已就绪 |
| hWnd | LongPtr | 只读 | WebView2 子窗口句柄 | |
| BrowserProcessId | Long | 只读 | 浏览器进程 ID | |
| CanGoBack | Boolean | 只读 | 是否可以后退 | |
| CanGoForward | Boolean | 只读 | 是否可以前进 | |
| IsSuspended | Boolean | 只读 | 进程是否已挂起 | |
| IsMuted | Boolean | 只读 | 页面是否静音 | |
| IsDocumentPlayingAudio | Boolean | 只读 | 页面是否正在播放音频 | |
| IsDefaultDownloadDialogOpen | Boolean | 只读 | 下载对话框是否打开 | |
| 文档 | DocumentURL | String | 只读 | 当前文档 URL |
| DocumentTitle | String | 只读 | 当前文档标题 | |
| ZoomFactor | Double | 读写 | 缩放因子 | |
| 设置 | IsScriptEnabled | Boolean | 读写 | 是否启用 JavaScript |
| AreDevToolsEnabled | Boolean | 读写 | 是否启用 DevTools | |
| IsStatusBarEnabled | Boolean | 读写 | 是否显示状态栏 | |
| IsZoomControlEnabled | Boolean | 读写 | 是否允许用户缩放 | |
| AreDefaultContextMenusEnabled | Boolean | 读写 | 是否启用右键菜单 | |
| UserAgent | String | 读写 | 自定义 User-Agent | |
| IsPinchZoomEnabled | Boolean | 读写 | 是否启用捏合缩放 | |
| IsSwipeNavigationEnabled | Boolean | 读写 | 是否启用滑动导航 | |
| IsPasswordAutoSaveEnabled | Boolean | 读写 | 是否启用密码自动保存 | |
| IsGeneralAutoFillEnabled | Boolean | 读写 | 是否启用自动填充 | |
| AreBrowserAcceleratorKeysEnabled | Boolean | 读写 | 是否启用浏览器快捷键 | |
| 功能检测 | Supports* (8个) | Boolean | 只读 | 各版本接口支持情况 |
| 子对象 | Cookies | cWebView2Cookies | 只读 | Cookie 管理对象 |
| Script | cWebView2Script | 只读 | 脚本执行对象 | |
| Security | cWebView2Security | 只读 | 安全管理对象 | |
| EnvironmentOptions | cWebView2EnvironmentOptions | 只读 | 环境选项对象 | |
| 适配器 | HostAdapterName | String | 只读 | 当前宿主适配器名称 |
| 鼠标事件 | EnableUserMouseEvents | Boolean | 读写 | 是否启用内容区鼠标事件 |
| EnableUserMouseMove | Boolean | 读写 | 是否启用 mousemove 事件 | |
| EnableMouseMoveEvents | Boolean | 读写 | 是否启用宿主 mousemove 事件 |
📊 状态属性
IsReady
WebView2 控件是否已完全就绪,可以接受 API 调用。
类型: Boolean
读写: 只读
示例:
If wv.IsReady Then
wv.Navigate "https://example.com"
End IfhWnd
WebView2 子窗口(Chrome_WidgetWin_0)的句柄。
类型: LongPtr
读写: 只读
BrowserProcessId
浏览器渲染进程的 ID。
类型: Long
读写: 只读
CanGoBack / CanGoForward
是否可以后退/前进。
类型: Boolean
读写: 只读
示例:
If wv.CanGoBack Then wv.GoBackIsSuspended
WebView2 渲染进程是否已挂起。
类型: Boolean
读写: 只读
IsMuted
页面音频是否已静音。
类型: Boolean
读写: 只读
IsDocumentPlayingAudio
当前页面是否正在播放音频。
类型: Boolean
读写: 只读
IsDefaultDownloadDialogOpen
默认下载对话框是否已打开。
类型: Boolean
读写: 只读
📝 文档属性
DocumentURL
当前文档的 URL。
类型: String
读写: 只读
示例:
Debug.Print "当前URL: " & wv.DocumentURLDocumentTitle
当前文档的标题。
类型: String
读写: 只读
说明: 通常在 DocumentTitleChanged 事件中读取以更新窗体标题。
示例:
Private Sub wv_DocumentTitleChanged()
Me.Caption = wv.DocumentTitle
End SubZoomFactor
页面缩放因子。
类型: Double
读写: 可读写
说明: 默认值为 1.0。设置为 0.5 表示 50%,2.0 表示 200%。
示例:
wv.ZoomFactor = 1.5 ' 150% 缩放
Debug.Print "当前缩放: " & wv.ZoomFactor⚙️ 设置属性
IsScriptEnabled
是否启用 JavaScript 执行。
类型: Boolean
读写: 可读写
默认: True
说明: 禁用后页面中的所有 JavaScript 不会执行。
AreDevToolsEnabled
是否允许用户打开 DevTools(F12)。
类型: Boolean
读写: 可读写
默认: True
说明: 生产环境建议设为 False 以防止用户调试页面。
IsStatusBarEnabled
是否显示浏览器状态栏。
类型: Boolean
读写: 可读写
默认: False
IsZoomControlEnabled
是否允许用户通过 Ctrl+滚轮 等方式缩放页面。
类型: Boolean
读写: 可读写
默认: True
AreDefaultContextMenusEnabled
是否启用 WebView2 的默认右键上下文菜单。
类型: Boolean
读写: 可读写
默认: True
说明: 如果自行处理右键菜单,可设为 False。
UserAgent
自定义 User-Agent 字符串。
类型: String
读写: 可读写
说明: 设置后所有后续请求将使用此 User-Agent。设为空字符串恢复默认。
示例:
wv.UserAgent = "Mozilla/5.0 (Custom App)"IsPinchZoomEnabled
是否启用触摸屏捏合缩放。
类型: Boolean
读写: 可读写
默认: True
IsSwipeNavigationEnabled
是否启用触摸屏滑动导航(前进/后退)。
类型: Boolean
读写: 可读写
默认: True
IsPasswordAutoSaveEnabled
是否启用密码自动保存提示。
类型: Boolean
读写: 可读写
默认: False
IsGeneralAutoFillEnabled
是否启用表单自动填充。
类型: Boolean
读写: 可读写
默认: False
AreBrowserAcceleratorKeysEnabled
是否启用浏览器快捷键(如 Ctrl+F 搜索、Ctrl+P 打印等)。
类型: Boolean
读写: 可读写
默认: True
说明: 如果不希望用户通过快捷键触发浏览器内置功能,设为 False。
🔍 功能检测属性
8 个 Supports* 只读属性用于检测当前 WebView2 Runtime 是否支持特定版本的接口:
| 属性 | 对应接口 | 说明 |
|---|---|---|
SupportsWebView2 | ICoreWebView2 | 基础接口(始终为 True) |
SupportsWebView3 | ICoreWebView2_3 | DOMContentLoaded 等 |
SupportsWebView4 | ICoreWebView2_4 | Suspend/Resume |
SupportsWebView5 | ICoreWebView2_5 | 文件夹映射 |
SupportsWebView6 | ICoreWebView2_6 | DownloadStarting |
SupportsWebView7 | ICoreWebView2_7 | PrintToPdf |
SupportsWebView8 | ICoreWebView2_8 | Audio |
SupportsWebView9 | ICoreWebView2_9 | DownloadDialog |
类型: Boolean
读写: 只读
示例:
If wv.SupportsWebView5 Then
wv.SetVirtualHostNameToFolderMapping "myapp.local", App.Path & "\www"
End If🔗 子对象属性
Cookies
Cookie 管理业务对象。
类型: cWebView2Cookies
读写: 只读
说明: 提供 GetCookies 和 GetCookiesFull 方法。
示例:
Dim simple As String
simple = wv.Cookies.GetCookies ' 简易 Cookie 列表
Dim full As String
full = wv.Cookies.GetCookiesFull ' 完整 Cookie 详情(含 HttpOnly)Script
脚本执行业务对象。
类型: cWebView2Script
读写: 只读
说明: 提供 Eval 方法,用于同步执行 JavaScript 表达式。
示例:
Dim html As String
html = wv.Script.Eval("return document.querySelector('.title').innerHTML")Security
安全/证书管理业务对象。
类型: cWebView2Security
读写: 只读
说明: 提供 CertificateErrorAction 属性,控制证书错误处理行为。必须在 Initialize 之前设置才生效。
示例:
' 必须在 wv_Create 事件中配置
Private Sub wv_Create()
wv.Security.CertificateErrorAction = CEA_AlwaysAllow
End SubEnvironmentOptions
WebView2 环境选项对象。
类型: cWebView2EnvironmentOptions
读写: 只读
属性:
| 子属性 | 类型 | 说明 |
|---|---|---|
BrowserExecutableFolder | String | 浏览器可执行文件目录 |
UserDataFolder | String | 用户数据文件夹路径 |
AdditionalBrowserArguments | String | 附加浏览器命令行参数 |
Language | String | 浏览器语言 |
TargetCompatibleBrowserVersion | String | 目标兼容浏览器版本 |
AllowSingleSignOnUsingOSPrimaryAccount | Boolean | 是否允许 OS 主账号 SSO |
ExclusiveUserDataFolderAccess | Boolean | 是否独占用户数据文件夹 |
EnableTrackingPrevention | Boolean | 是否启用跟踪防护 |
说明: UserDataFolder 和 AdditionalBrowserArguments 等必须在 wv_Create 事件中设置。
示例:
Private Sub wv_Create()
wv.EnvironmentOptions.UserDataFolder = App.Path & "\UserDir\account-001"
End Sub🖥️ 适配器属性
HostAdapterName
当前使用的宿主适配器名称。
类型: String
读写: 只读
值:
"HostSubclassAdapter"- 子类化适配器(VB6/Excel)"MessageWindowAdapter"- 消息窗口适配器(Access)
示例:
Debug.Print "适配器: " & wv.HostAdapterName🖱️ 鼠标事件属性
EnableUserMouseEvents
是否启用内容区域的用户鼠标事件(通过 JS 代理触发的 UserMouse* 事件)。
类型: Boolean
读写: 可读写
默认: False
说明: 启用后,WebView2 内容区域的鼠标事件会通过 mouseProxy COM 对象同步回调到宿主,触发 UserMouseDown、UserMouseUp、UserMouseMove、UserMouseWheel、UserContextMenu、UserDblClick 事件。
EnableUserMouseMove
是否启用内容区域的 mousemove 事件(仅当 EnableUserMouseEvents 为 True 时生效)。
类型: Boolean
读写: 可读写
默认: False
说明: mousemove 事件频率极高,默认关闭以避免性能问题。仅在有拖拽等需求时启用。
EnableMouseMoveEvents
是否启用宿主窗口的 mousemove 事件(HostMouseMove)。
类型: Boolean
读写: 可读写
默认: False
说明: 宿主鼠标移动事件频率极高,默认关闭以避免性能问题。
最后更新: 2026-06-24