我正在使用SHDocVw.InternetExplorer在我的代码中启动IE。在某些情况下,InternetExplorer.Quit()不起作用。我有tried several things让Quit工作但没有成功。我现在正在使用Process.Kill。
现在,如果使用SHDocVw.InternetExplorer启动另一个IE8时手动启动的IE8实例已经运行,那么新的实例将被创建为现有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呢?