目的:从基于IE内核的傲游浏览器中取出选中区域的HTML代码
说明:在IE6下测试顺利通过,但在傲游浏览器中却在“错误1”处报错。只有这些分了,真抱歉。uses msHtml, SHdocvw;procedure TForm2.Button1Click(Sender: TObject);
var
  I: Integer;
  ShellWindow: IShellWindows;
  IE: IWebbrowser2;
  Doc: IHtmlDocument2;
  TxtRange: IHtmlTxtRange;
  S: string;
  P: PChar;
begin
  ShellWindow := CoShellWindows.Create;
  for I := 0 to ShellWindow.Count-1 do begin
    IE := ShellWindow.Item(I) as IWebbrowser2;
    if IE <> nil then begin
      GetMem(P, MaxByte+1);
      GetClassName(IE.HWND, P, MaxByte);//  <<<-----“错误1
      if SameText(P, 'IEFrame') then begin
        Doc := IE.Document as IHtmlDocument2;
        if Doc.Selection <> nil then begin
          TxtRange := Doc.Selection.CreateRange as IHtmlTxtRange;
          S := TxtRange.Get_htmlText;
          Memo1.Lines.Add(S);
        end;
      end;
      FreeMem(P);
    end;
  end;
end;