我正在尝试将鼠标从全局输入转发到ChromiumWebBrowser对象,但遇到了一些问题。捕获鼠标是有效的,但无法将其转发到浏览器对象。我正在使用继承ChromiumWebBrowser的类来实现这一点。
我要这样做的原因是因为我正在将浏览器所在的表格绘制到桌面上,这导致它不接收鼠标事件。
public class BGChrome : ChromiumWebBrowser
{
private UserActivityHook hooker = null;
public BGChrome(string address, IRequestContext requestContext = null) : base(address, requestContext)
{
hooker = new UserActivityHook();
hooker.OnMouseActivity += new MouseEventHandler(MouseMove);
}
private new void MouseMove(object sender, MouseEventArgs e)
{
base.OnMouseMove(e);
}
}
UserActivityHook类:https://hastebin.com/ocuwesogin.cs
感谢您的帮助。
答案 0 :(得分:0)
使用amaitland的评论解决。 已使用http://cefsharp.github.io/api/63.0.0/html/M_CefSharp_WebBrowserExtensions_SendMouseMoveEvent.htm
要将我的MouseMove功能更改为
private new void MouseMove(object sender, MouseEventArgs e)
{
this.GetBrowserHost().SendMouseMoveEvent(e.X, e.Y, false, new CefEventFlags());
}