获取SHDocVw.InternetExplorer的进程ID会产生IE8进程

时间:2011-08-22 17:37:22

标签: .net internet-explorer-8 mshtml pid

我正在使用SHDocVw.InternetExplorer在我的代码中启动IE。在某些情况下,InternetExplorer.Quit()不起作用。我有tried several things让Quit工作但没有成功。我现在正在使用Process.Kill。

现在,如果使用SHDocVw.InternetExplorer启动另一个IE8时手动启动的IE8实例已经运行,那么新的实例将被创建为现有IE的子进程:

SHDocVw.InternetExplorer spawned IE is a child of the existing IE

SHDocVw.InternetExplorer IE是截图上的进程ID 996,手动启动的是3388加上其子2876。

现在,如果我使用InternetExplorer.HWND来检索我的IE的窗口句柄,然后GetWindowThreadProcessId来获取进程ID,我最终会得到3388,当我想要的是父进程ID为996时, InternetExplorer.HWND启动了IE进程ID。

我不确定哪一步出错了。
我应该以不同的方式检索HWND还是进程ID?或两者兼而有之?

谢谢!

编辑:我刚刚尝试将WM_CLOSE发送到HWND并关闭了父IE。我想这意味着我得到了错误的HWND?

编辑:值得注意的是,当我关闭时,只能看到手动启动的IE。这是否意味着我得到唯一可见的IE的HWND呢?

0 个答案:

没有答案