WebBrowser1.Navigate('http://news.baidu.com/');用如上方法加载网页,完成后点击网页内的任何一个链接,都会用IE打开,(我的默认浏览器Google浏览器,不是IE)在Google浏览器中没问题,会用默认浏览器打开,但在WebBrowser1中就会用IE打开,请问怎么办,如何使用默认浏览器来打开!

解决方案 »

  1.   

    试试用api打开网页uses ShellAPI;
    procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
      const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
      Headers: OleVariant; var Cancel: WordBool);
    var
      s:string;
    begin
      s := URL;
      ShellExecute(Handle,'open',PChar(s),nil,nil,1);
      Cancel := True;
    end;
      

  2.   

    要在我的WebBrowser1中点击,不是直接打开!
      

  3.   


    uses MSHTML;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      WebBrowser1.Navigate('http://news.baidu.com/');
    end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    var
      Doc: IHTMLDocument3;
      HrefList: IHTMLElementCollection;
      I: Integer;
    begin
      Doc := WebBrowser1.Document as IHTMLDocument3;
      HrefList := Doc.getElementsByTagName('a');
      for I := 0 to HrefList.length - 1 do
      begin
        with HrefList.item(I, I) as IHTMLAnchorElement do
        begin
          target := '_self';
        end;
      end;
    end;
      

  4.   

    你说的是不可能的,因为WebBrowser就是IE的内核,换句话说 WebBrowser就是IE,所以你说的这个方法用WebBrowser是不可能实现的
      

  5.   

    除非你弄个窗口把google的浏览器放到你窗口里
      

  6.   


    自己解决,发上来给大家看看
    unit adwords;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, ShellAPI, SHDocVw, ExtCtrls;type
      TFoucsOn = class(TForm)
        mainpage: TWebBrowser;
        Selp: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure SelpTimer(Sender: TObject);
        procedure mainpageNewWindow2(ASender: TObject; var ppDisp: IDispatch;
          var Cancel: WordBool);
        procedure mainpageStatusTextChange(ASender: TObject;
          const Text: WideString);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      FoucsOn: TFoucsOn;
      St: Bool;implementation{$R *.dfm}procedure TFoucsOn.FormCreate(Sender: TObject);
    var
      WDL: Integer;
    begin
      WDL := GetWindowLong(handle, GWL_EXSTYLE);
      SetWindowLong(handle, GWL_EXSTYLE, WDL or WS_EX_APPWINDOW);
      mainpage.Navigate('http://news.baidu.com/');
    end;procedure TFoucsOn.mainpageNewWindow2(ASender: TObject; var ppDisp: IDispatch;
      var Cancel: WordBool);
    begin
      St := True;
      Cancel := True;
    end;procedure TFoucsOn.mainpageStatusTextChange(ASender: TObject;
      const Text: WideString);
    begin
      if St then
      begin
        if Text<>'' then
        begin
        ShellExecute(Handle,'open',PChar(Text),nil,nil,1);
        St := False;
        end;
      end;
    end;procedure TFoucsOn.SelpTimer(Sender: TObject);
    begin
      if self.Visible = False then
      begin
        self.Visible := True;
        Selp.Destroy;
      end;
    end;end.
      

  7.   

    上面 那个代码有缺陷!
    下面这个才是健康的,
    unit adwords;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, ShellAPI, SHDocVw, ExtCtrls;type
      TFoucsOn = class(TForm)
        mainpage: TWebBrowser;
        Selp: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure SelpTimer(Sender: TObject);
        procedure mainpageNewWindow2(ASender: TObject; var ppDisp: IDispatch;
          var Cancel: WordBool);
        procedure mainpageStatusTextChange(ASender: TObject;
          const Text: WideString);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      FoucsOn: TFoucsOn;
      St: Bool;
      UrlSt:String;implementation{$R *.dfm}
    procedure TFoucsOn.FormCreate(Sender: TObject);
    var
      WDL: Integer;
    begin
      WDL := GetWindowLong(handle, GWL_EXSTYLE);
      SetWindowLong(handle, GWL_EXSTYLE, WDL or WS_EX_APPWINDOW);
      mainpage.Navigate('http://news.baidu.com/');
    end;procedure TFoucsOn.mainpageNewWindow2(ASender: TObject; var ppDisp: IDispatch;
      var Cancel: WordBool);
    begin
      St := True;
      Cancel := True;
      ShellExecute(Handle,'open',PChar(UrlSt),nil,nil,1);
      St := False;
    end;procedure TFoucsOn.mainpageStatusTextChange(ASender: TObject;
      const Text: WideString);
    begin
        if Text<>'' then
        begin
        UrlSt:=String(Text);
        end;
    end;procedure TFoucsOn.SelpTimer(Sender: TObject);
    begin
      if self.Visible = False then
      begin
        self.Visible := True;
        Selp.Destroy;
      end;
    end;end.