如何在VB.NET中的同一MSIE窗口中导航到不同的网页

时间:2009-05-25 23:50:31

标签: vb.net

我有代码打开一个新窗口,但我希望能够编辑同一个窗口。

System.Diagnostics.Process.Start("iexplore.exe", "http://www.live.com")

4 个答案:

答案 0 :(得分:0)

我不确定,但是开始的好指针可能是获得你感兴趣的窗口的句柄:

http://www.pocketpcdn.com/articles/dotnetcf_hwnd.html

然后单独调查您可以发送给IE以更改标签X中的URL的互操作消息

答案 1 :(得分:0)

为了增加难度和增加控制/力量:

  1. 将输入文本发送到IE进程。 Alt-D专注于导航栏,然后是URL,然后是ENTER。
  2. 使用MSAA查找导航栏并发送文本,如上所述。
  3. 使用MSAA获取IHTMLDocument对浏览器的访问权限,然后以编程方式使用该驱动程序和相关接口驱动浏览器。
  4. 我不知道您的具体情况,但是如果您可以托管自己的MSHTML实例或WebBrowser控件,那么它将使得接口和执行上面#3中提到的操作变得更加容易;做那些跨过程的事情充满了危险。

    我刚刚进行了网络搜索并找到了WatiN工具,显然包含了很多这方面的工作;也许这对你有用。

答案 2 :(得分:0)

如果您使用的是2008,则可以创建第二个表单,然后添加Web浏览器控件

然后可以通过

调用该页面
myForm.show

然后可以使用

更改页面
Webbrowser1.Url = New Uri("http://www.google.com")

答案 3 :(得分:0)

使用以下代码:

System.Diagnostics.Process.Start("http://www.live.com")

即:不要直接调用iexplore.exe - 只需让系统找出要打开的默认浏览器。

这可能会产生两种行为:

  • 在现有的Internet Explorer窗口中打开一个新选项卡
  • 或者它会创建一个新窗口。

重要的是,这取决于可以在Internet Explorer应用程序中控制的首选项。如果打开一个新窗口,那么这是用户选择的设置 - 尝试覆盖它:覆盖用户的偏好被认为是不礼貌。

如果用户不想打开新窗口,他们只需在Internet Explorer首选项中更改它即可。