用以下代码可以成功获取IE窗口选中区域的html代码,但到傲游浏览器中却不行,请赐教
目的:从基于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;