1

我正在使用 awesomium,并且正在尝试使用命令“InjectMouseDown”。不幸的是,什么也没发生。我正在尝试使用以下代码:

private void newbrowser()
        {
            dir = "C:\\AwCache\\" + RandomString(10);

            _webView = WebCore.CreateWebView(800, 600);
            _webView.ParentWindow = this.Handle;
            using (WebSession session = WebCore.CreateWebSession(dir, new WebPreferences() { /*CustomCSS = "body { zoom: 75%; }", ProxyConfig = proxyok,*/ }))
            {
                _webView.Source = new Uri("http://www.google.com");
                _webView.DocumentReady += WebViewOnDocumentReady;
            }
        }
private void WebViewOnDocumentReady(object sender, UrlEventArgs urlEventArgs)
        {
            timer1.Enabled = true;
        }
private void timer1_Tick(object sender, EventArgs e)
        {
                _webView.InjectMouseMove(5, 100);
                _webView.InjectMouseDown(MouseButton.Left);
}
4

1 回答 1

0

在 timer1_tick 中,添加InjectMouseUp(MouseButton.Left); 也是。一旦我将所有三个鼠标事件(InjectMouseMove、Inj​​ectMouseDown、InjectMouseUp)注入到 WebView 中,它就起作用了。

下面是对我有用的示例代码(虽然是用 C++ 编写的)。

 void Containerclass::mousePressed(ofMouseEventArgs &e)
 {
   webview->InjectMouseMove(e.x - loc.x, e.y - loc.y); 
   webview->InjectMouseDown(MouseButton_Left);
   webview->InjectMouseUp(MouseButton_Left);
 }
于 2013-09-02T17:25:12.143 回答