请教大家一个关于新窗口打开网页的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 04:11:01
我在vb打开一个网页,方法有很多用ShellExecute,或调用外部文件rundll32,cmd,explorer,但是基本都是在当前窗口打开的,意思是我如果当前正打开着一个网页,它就会在这个页面打开,这样我刚刚浏览的页面就被它替代了啊,所以我想在新的页面打开。
这里面就一个explorer是新窗口的,但是它有限制,比如url地址太长他可能会出现问题,提示目录不存在什么的
所以想看看其它的方法能不能办到。
ShellExecute hwnd, "open", "http://www.baidu.com", "", "", 1
大家可以看看上面的代码
匿名的那位不是我想要的答案
说明一下,为什么explorer.exe不可以,它好像不支持太长的网址,比如淘宝的搜索网址,你们自己随便找个看看,用shell "explorer.exe"的方式打不开,提示“格式错误”,而短的却可以,我还是希望不要通过其它的程序,就用vb本身的shellexecute,这个好像可以打开的,可能仅仅是参数的问题

-------------------------------------------
Set hjso = CreateObject("wscript.shell")
hjso.run "iexplore.exe http://www.163.com"
-------------------------------------------
每次都会从新窗口打开
换个思路就是打开IE浏览器给他传递参数,wscript.shell对象可以给应用程序传递参数,
vb.shell不可以。
-------------------------------------------
explorer.exe因为是系统的一个shell程序,虽然和iexplore.exe有关联但不可能完美支持,他一般都是被用作调用本地文件的所以他对参数的递交处理的比较严格。XP系统才支持多少位的文件名啊 ,你拿他打开URL???iexplore.exe专门就是处理url网页用的,所以他俩的区别就在这。为什么IE老出毛病,因为他老不对 URL进行处理,所以才有的IE的URL缓冲区间溢出漏洞。呼呼!!

Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE www.baidu.com", vbMaximizedFocus 这样就可以啊。谁说不是新窗口打开的呢?明明就是新建立的一个窗口呀

我这里没环境不能试:

为什么不先用shell打开个空的explorer,让它成为当前活动窗口(好象API里有个函数叫SetWindowPos什么的可以设置窗口次序---也许根本就用这着这步),再用ShellExecute来打开你要的网页呢??