用VB6.0:API函数:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long用:
ShellExecute 0, "open", "网址", vbNullString, vbNullString, SW_MAXIMIZE
打开"网址"中的网页,请问能不能我自己选择用那种工具打开"网址"中的网页。
比如:上面的语句默认用IE打开的,但我现在想换个载体比如用MYIE打开,具体MYIE我可以再添加设置。其实我想实现的就是我可以通过程序指定用哪种载体打开网页,请指教……

解决方案 »

  1.   

    研究一下参数lpParameters 看看,
      

  2.   

    有没有API函数修改系统的默认浏览器的,请问是那个函数?
    就象腾讯浏览器打开是提示是否设为默认的浏览器,还有能不能检测到系统中装了多少浏览器……
    望指教,最近对这个感点兴趣。
      

  3.   

    先获取浏览器路径,例如"c:\program files\myie2\myie2.exe"一般你可以从注册表获取这个值。接着,一般具有文件关联功能的浏览器都能够通过在文件结尾加上被打开的文件作为参数执行,所以你可以直接这样写:
    shell "c:\program files\myie2\myie2.exe " & chr(34) & (网址) & chr(34)
    其中chr(34)="
      

  4.   

    谢谢, sworddx  用你的方法可以了。但象myie2是绿色软件应该不写注册表的吧。只能在全硬盘上搜索了。不过能达到我的要求。谢谢。可能在设置时速度慢点而已,不过也不会经常去改动那个设置。
      

  5.   

    还有个问题,用SHELL时,好象都是新打开一个窗体。能不能实现如下:
    比如我已经用IE打开过一个网页了,再打开一个时 不是新建一个IE窗体,而是在原来浏览器的基础上打开新的网页。有没有办法呀。
      

  6.   

    这你就只有使用Win32 API来操作窗口了,例如把已经打开的IE置于前台,使用sendkeys api发送网址加上vbkeyreturn或者使用sendmessage来操作,即模拟手动输入网址过程。或者你也可以使用一些其它方式,我不太了解,也就不便多说了。
      

  7.   

    你说的方法按理论上应该可以,不过还没有试过,不过还是谢谢。等有空了。再试试,不知道有没有那位高手有新的思路。随便指教指教,一起探讨而已,现在VB6的是不是大多数都转向VB.NET了。
      

  8.   

    理论用shellexecute最后一个参数用SW_HIDE都可以不显示出IE窗口的嘛,难道不行?郁闷的是,我的XP机上竟然用SHELLEXECUTE不能直接打开"http://xxx.com",提示路径找不到,郁闷
    连"运行"菜单也不行.
    而"运行"菜单里行的"iexplore http://xxx.com",用shellexecute也不行,提示文件找不到,超郁闷:(