一个网页已经在IE中打开了,可以通过IE的菜单查看源代码。重新用这个网址去获取源代码的话,由于网站的限制,会重新出现登录的画面。所以要求不能再用那个网址去Get源代码。有个GetIESource的软件可以实现这个功能,但是想在自已的程序中查看这个网页的源代码。请问在DELPHI中怎么实现?

解决方案 »

  1.   


    function GetHtml(const WebBrowser:TWebBrowser): string;
    const
      BufSize = $10000;
    var
      Size: Int64;
      Stream: IStream;
      hHTMLText: HGLOBAL;
      psi: IPersistStreamInit;
    begin
      if not Assigned(WebBrowser.Document) then Exit;
      OleCheck(WebBrowser.Document.QueryInterface(IPersistStreamInit, psi));
      try
        hHTMLText := GlobalAlloc(GPTR, BufSize);
        if 0 = hHTMLText then Exit;// RaiseLastWin32Error;
        OleCheck(CreateStreamOnHGlobal(hHTMLText, True, Stream));
        try
          OleCheck(psi.Save(Stream, False));
          Size := StrLen(PChar(hHTMLText));
          SetLength(Result, Size);
          CopyMemory(PChar(Result), Pointer(hHTMLText), Size);
        finally
          Stream := nil;
        end;
      finally
        psi := nil;
      end;
    end;
      

  2.   

    给你一个例子吧
    下载这个
    http://eshow.ys168.com/infile/note/note_6.htm?http://ys-C.ys168.com/?WebBrowser.rar_67z80bt1bsp0c1bt0btl2bt0btlnnl0bp0cl2bikshu14z97f14z