Так что в основном я пытаюсь запустить RaiseEvent WebBrowser из консольного приложения, но он не работает.В проекте WinForms это работает хорошо, поэтому мне просто интересно, что мне нужно сделать, чтобы это работало в консольном приложении.Это вообще возможно?
Вот как я создаю поток для моего WB
private static Thread runBrowserThread(int mCandidatePosition)
{
var wbThread = new Thread(() => {
mClient = new WebClient();
mainWebBrowser.ScriptErrorsSuppressed = true;
mainWebBrowser.AllowNavigation = true;
mainWebBrowser.DocumentCompleted += MainWebBrowser_DocumentCompleted;
mainWebBrowser.Navigate(new Uri(xxx));
Application.Run();
});
wbThread.SetApartmentState(ApartmentState.STA);
return wbThread;
}
, и вот как я пытаюсь это сделать:
HtmlElement selectType = gDoc.GetElementById("xxx");
selectType.RaiseEvent("onchange");
Приведенный выше код хорошо работает в WinFormsпроект, но в консольном приложении ничего не происходит.Кроме того, InvokeScript работает хорошо, так что это немного странно для меня.