You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebView2当前能否接收键盘输入?如何从WPF端向其发送击键事件?

WebView2 软键盘击键发送实现方案
  • 版本适配说明
    你当前使用的1.0.818.41属于WebView2早期版本,该版本确实未公开原生输入事件发送接口。等价于CefSharp ChromiumWebBrowser.GetHost().SendKeyEvent()的功能,已经在1.0.1020.30及之后的稳定版本正式上线。
  • 官方原生实现方案
    升级WebView2 NuGet包到1.0.1020.30或更高版本后,使用CoreWebView2.SendInput()方法即可实现需求:
    1. 监听网页输入框焦点状态:可通过CoreWebView2.ContainsFocusChanged事件,或注入JS监听输入框focus/blur事件,触发OnScreenKeyboard的显示和隐藏
    2. 构造键盘事件:软键盘触发按键操作时,构造对应参数的CoreWebView2KeyEvent结构体
    3. 发送事件:调用CoreWebView2.SendInput()方法,将构造好的键盘事件直接发送到WebView2渲染的网页上下文,即可触发输入框内容输入
  • 低版本兼容方案
    若暂时无法升级WebView2版本,可通过JS注入间接实现输入功能:
    软键盘触发输入后,调用CoreWebView2.ExecuteScriptAsync()执行JS代码,主动修改当前焦点输入框的value属性,同时手动触发input、change事件,即可保证网页原有逻辑正常响应输入内容。

内容的提问来源于stack exchange,提问作者Bado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 14:09:03