原因就是你的超级链接使用了“新开窗口”操作!这在很多应用软件中都是如此(ForxMail,OutLook,帮助文件中)。如果你想让你自己的网页始终在你的浏览器中查看到话,最好在写超级链接的时候不要加入“新开窗口”选项;如果想让别人的网页也做到这一点,那就比较麻烦了!你要将你的程序设置为默认的Web浏览器(好麻烦哦!!!)

解决方案 »

  1.   

    你可以捕获navigate事件,然后用shellexecute或winexec指定用你的程序打开该地址就可以了
      

  2.   

    同意zhujunfeng(ericss)的,可行。
      

  3.   

    处理好Webbrs的某个事件!自己看!有一个程序你可以参考! 到这里去看看http://www.csdn.net/cnshare/soft/12/12234.shtm
      

  4.   

    其实很简单!但不是navigate事件,是OnNewWindow2,在里面可以设
    ppDisp := WebBrowser.DefaultInterface;
    这样就不会新开窗口!
    也可以在OnNewWindow2事件中,生成新的WebBrowser!就像多窗口浏览器一样!
      

  5.   

    当然也可以运行另一个程序本身,用sendmessage发送消息!但在OnNewWindow2事件中Cancel=False!但实际上IE是用同一个进程另一个窗体中打开,这也是大家对IE的误解,IE准确的说也是多窗口浏览器!所以也可一把整个浏览器封装成个一个类,动态生成!
      

  6.   

    procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
      var ppDisp: IDispatch; var Cancel: WordBool);
    begin
      ppDisp := WebBrowser2.ControlInterface;
    end;
    上面的就可以了!
    結吧!記得加分:)