在我的webbrowser控件内部有个静态的网页,其中有个“查询资料”为超级连接,请问,在同一个webbrowser中,我怎么才能实现用这个超级连接来打开我写的另外的一个“过程”。

解决方案 »

  1.   

    静态网页的内容为:<a href='/MyCGI.exe/'>查询资料</a>
      

  2.   

    list all links of a page of a TWebbrowser?  procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do
        Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i));
    end;
    {*****************}{ if there are frames }procedure TForm1.Button2Click(Sender: TObject);
    var
      u : variant;
      v : IDispatch;
      s : string;  procedure RecurseLinks(htmlDoc: variant);
      var
        BodyElement : variant;
        ElementCo: variant;
        HTMLFrames: variant;
        HTMLWnd : variant;
        j, i : integer;
      begin
        if VarIsEmpty(htmlDoc) then
          exit;
        BodyElement := htmlDoc.body;
        if BodyElement.tagName = 'BODY' then
        begin
          ElementCo := htmlDoc.links;
          j := ElementCo.Length - 1;
          for i := 0 to j do
          begin
            u := ElementCo.item(i);
            s := u.href;
            listLinks.Items.Add(s);
          end;
        end;
        HTMLFrames := htmlDoc.Frames;
        j := HTMLFrames.length - 1;
        for i := 0 to j do
        begin
          HTMLWnd := HTMLFrames.Item(i);
          RecurseLinks(HTMLWnd.Document);
        end;
      end; // RecurseLinks
    begin
      v := WebBrowser1.document;
      listLinks.Clear;
      RecurseLinks(v);
    end;用上面的方法找到對應的 link --- '/MyCGI.exe/', 再和原來的link組合, 就可以成新的