Почему ошибка - когда имитировать мышь в dotnetbrowser? - PullRequest
0 голосов
/ 30 сентября 2018

Но при сборке - вызывающий поток должен быть STA, потому что для многих компонентов пользовательского интерфейса это требуется в первом браузере. MouseMove (x, y)

public MainWindow()
{
    // Initialize WPF Application UI.

    InitializeComponent();

    // Create WPF BrowserView component.
    browser = BrowserFactory.Create();

    browserView = new WPFBrowserView(browser);
    // Embed BrowserView component into main layout.
    mainLayout.Children.Add(browserView);
    browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e)
    {
        if (e.IsMainFrame)
        {
            int x = 100;
            int y = 10;
            browser.MouseMove(x, y);
        }
    };

    browserView.Browser.LoadURL("http://google.com");
}

1 Ответ

0 голосов
/ 30 сентября 2018

Попробуйте обернуть ваш код в Dispatcher.BeginInvoke.

 if (e.IsMainFrame)
 {
      int x = 100;
      int y = 10;
      Dispatcher.BeginInvoke(new Action( ()=> {
          browser.MouseMove(x, y);
       }
 }
...