我有一个.NET winforms程序,其中包含在系统默认浏览器窗口中启动特定网页的功能。
如果页面打开,则需要在用户的现有浏览器窗口中启动该页面。启动浏览器的当前方法总是创建一个新窗口:
Process p = new Process();
p.StartInfo.FileName = @"C:\path\to\default\browser.exe";
p.StartInfo.Arguments = "http://pageurl";
p.Start();
这个程序专门用于内部网,99%的用户使用IE6(很遗憾,我知道。)支持其他浏览器会很好,但不是必需的。
有什么建议吗? IE6的命令行参数很稀疏,似乎不支持这一点。
答案 0 :(得分:1)
简单的答案是,你不能。
您正在催生一个与您的应用程序无关的新流程。您可以检查IExplore.EXE进程是否正在运行,并对应用程序窗口执行一些SENDKEYS,但这有点粗略。
您可以在WebBrowser控件中显示网站,但这完全不同。
答案 1 :(得分:1)
如果用户使用该浏览器页面该怎么办?你不想劫持它。现代浏览器足够聪明,可以在适当的时候创建新标签。