c# - 使用iexplore.exe -embedding导航网址?

时间:2015-08-28 14:38:13

标签: c# vb.net visual-studio visual-c++

我使用c#using;

导航网址
SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
IE.Navigate2("http://example.org");

它在后端使用iexplore.exe(Internet Explorer)来导航网址。 但我希望程序使用“iexplore.exe -embedding”而不是“iexplore.exe”,意味着我想在使用iexplore.exe的程序时添加该命令

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以通过命令行

运行ieexplorer作为新进程
var main = (ToolStripDropDownItem) menuMain.Items["File"];
var sub = main.DropDownItems[0]

有更多细节 http://www.dotnetperls.com/process

答案 1 :(得分:0)

正如@Jacek指出的那样,您可以使用whatever CLI flags you want运行自己的流程。然后你只需要使用SHDocVw.ShellWindows迭代所有现有的IE实例来找到你开始的那个。

在这方面您有几个选项,您可以交叉引用Process.Start()的Id property的结果来为您提供一个PID,您可以将其与之前发现的已知PID进行比较以查找“新的一个。您还可以导航到该URL in the ShellWindows() iteration的唯一网址和过滤条件。

如果您需要跨流程调用维护该浏览器的参考点,或者在浏览器实例中进行后续用户导航,您还可以使用PutProperty为其分配一个唯一的键值对,您可以再次引用它再次跨多个主机进程调用(IE窗口必须保持运行以使此值保持不变。)