- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这可能是一个简单的问题,但我有一个正在加载 ChromiumWebBrowser 控件 (CefSharp) 的 winforms 应用程序,我不知道如何捕获关键预览事件,因为它们都被控件吞没了。
将处理程序附加到浏览器控件的 PreviewKeyDown 事件的标准不起作用。有已知的解决方法吗?
最佳答案
CEF
在它自己的消息循环中运行,因此标准事件不起作用。
第一个最简单的选择是实现 IKeyboardHandler
,您可以查看 CefSharp
源代码以获得更详细的示例(如果需要,可以将消息转发到父窗口) ).
第二次运行 settings.MultiThreadedMessageLoop = false
,并在应用程序空闲时调用 Cef.DoMessageLoopWork()
,这会将 CEF
集成到与您的主应用程序相同的消息循环。同样,来源包含示例,请参阅 https://github.com/cefsharp/CefSharp/blob/cefsharp/49/CefSharp.WinForms.Example/Program.cs#L63
第三个选项是挂接到 CEF
消息循环中,参见 https://github.com/cefsharp/CefSharp/blob/cefsharp/49/CefSharp.WinForms.Example/ChromeWidgetMessageInterceptor.cs举个例子
CEF
= Chromium Embedded Framework
- CefSharp
只是一个包装器。
关于c# - cefsharp 和 previewkeydown 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635808/
CefSharp 有许多运行所需的依赖项和库。构建文件夹很困惑。如何将所需的 .dll 和 .pak 依赖项移至子文件夹? 最佳答案 首先,为了让一切变得更容易,我建议向 Visual Studios
我正在考虑将项目移动到 WinForm 应用程序中的嵌入式 WebView 类型体系结构中,并且正在考虑 DotNetBrowser 和 CefSharp。 经过多次搜索,我似乎找不到免费 CefSh
我正在尝试使用 CefSharp 访问 URL 并捕获在加载给定页面期间检索到的特定资源。大概作为每个资源的流或字节数组。 CefSharp 提供接口(interface) IRequestHandl
为了使用 WebClient 而不是 Chrome 进行下载,我截获了一个下载 URL。然后我在使用 获取 cookie 时遇到了问题。访客 .我陷入的陷阱是我不明白访问者是异步运行的,因此只有 30
使用 CEFSharp 浏览器构建应用程序,在我的机器上运行良好,但在服务器上崩溃并出现以下错误: System.IO.FileLoadException:无法加载由“CefSharp.Core.dl
我已经在 CefSharp WinForms 应用程序上工作了几个星期,并且没有遇到任何问题。今天早上,在向应用程序添加一些东西时,我试图运行它来测试一些东西并得到以下错误: System.IO.Fi
使用 XMLHttpRequest which is the subject of my previous question使用自定义方案我正在加载本地文件。为了测试,我使用了 disable-web
我关注了这个link实现 CefSharp 应用程序。 但是我在编写 MainWindow.xaml 时卡住了。 Blend for VS 2015 说, The name ChromiumWebBr
我收到消息命名空间“clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf 中不存在名称 ChromiumWebBrowser 当我运行这个
是否可以使用 CefSharp 获取网页的屏幕截图?我找到了关于GetImage()的信息方法,但它似乎不再受支持。有没有其他办法?我需要从屏幕外浏览器获取屏幕截图,因此使用显示浏览器的屏幕截图不是解
我正在使用 CEFsharp 浏览器并通过 LoadingStateChanged 事件确定页面已完成加载,但它会触发多次。 我需要它只在页面完全加载后触发,这怎么办? private async v
我需要在 Wpf 应用程序中使用 Web 浏览器,我尝试使用工具箱中的浏览器,但遇到一些问题并转到 CefSharp。 public MainWindow() { InitializeCompone
如何使用CefSharp获取HTML元素的值? 我知道如何使用此默认WebBrowser控件: Dim Elem As HtmlElement = WebBrowser1.Document.GetEl
我们希望在 wpf 应用程序中的基于 chromium 的浏览器中显示网页。在浏览器中显示的网站也应该显示在另一个屏幕上,但没有交互。我想将cefsharp wpf浏览器控件和cefsharp离屏渲染
有人可以帮助我了解如何在使用 CefSharp winforms 控件时捕获鼠标事件吗? 最佳答案 我没有详细检查以下示例链接,但搜索“global mouse hook”应该会带您到正确的方向。 示
我使用 64 位版本的 CefSharp 3 创建了一个示例应用程序。当所有必需的库与主应用程序可执行文件位于同一文件夹时,它工作正常。我想知道是否有办法从另一个路径读取 CefSharp 所需的 d
我正在开发一个项目,我希望使用 Chromium Web 浏览器并能够读取通常通过 DevTools“网络”选项卡获取的数据。所以基本上我真正需要的是 URL 和状态代码(404、200、50x 等)
在我的项目中加载 CefSharp 程序集时出现错误。 CefSharp 和 CefSharp.WinForms 都没有强命名。有什么办法解决这个问题吗? 错误: Referenced assembl
我已经成功地将 WebView 添加到 WPF 中的窗口。如何向浏览器添加选项卡?我用谷歌搜索但没有找到任何关于在 CefSharp 中制作标签式浏览器的好文档。 var settings = new
我正在使用 CefSharp Winforms x86 构建。我想播放此链接中的视频: http://developers.canal-plus.com/rx-player/ 在 google chr
我是一名优秀的程序员,十分优秀!