Web浏览器控制在svchost.exe下打开IE

时间:2016-06-23 21:36:36

标签: c# internet-explorer process webbrowser-control window.open

我有一个需要从Windows窗体应用程序打开的Web应用程序。

我目前的方法是在表单上使用WebBrowser控件并从WebBrowser控件执行JavaScript函数(filedes)。

当我已经运行IE实例时,此方法正常工作。请注意,在这种情况下,IE在explorer.exe下运行:

man page

当我的应用程序打开并执行window.open时,将在explorer.exe下创建一个新的iexplore.exe进程。

当我运行没有预先存在的IE实例的应用程序时,会出现问题。当我这样做时,我的应用程序在svchost.exe下打开IE,如下图所示。

enter image description here

如果在svchost.exe下没有运行iexplore.exe进程,则会正确打开该窗口。关闭我的应用程序打开的IE窗口后,iexplore.exe进程持久化,阻止我的应用程序打开任何更多的IE窗口。 (如果我在svchost.exe下杀死了iexplore.exe进程,我可以再次从我的应用程序中打开IE。)

我创建了一个小应用程序来演示这个问题。如果使用单个表单和单个WebBrowser控件创建Windows窗体应用程序,并在Form1.cs文件中使用以下代码,则可以重现我遇到的问题。

问题:有没有办法强制IE在explorer.exe下打开?

window.open

0 个答案:

没有答案