Hi,
ich hab folgendes Problem: Ich will den Quelltext von dem Internet-Explorer auslesen, der z.B. gerade als LocationName Drugworld [ist ein Internet-Game] hat. Dafür benutze ich den Code hier:
Delphi-Quellcode:
function GetHTMLCode(WB: IWebbrowser2; var ACode: TStringList): Boolean;
var
ps: IPersistStreamInit;
s: string;
ss: TStringStream;
sa: IStream;
begin
ps := WB.document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa:= TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;
function GetSource: TStringList;
var
ShellWindow: IShellWindows;
WB: IWebbrowser2;
spDisp: IDispatch;
IDoc1: IHTMLDocument2;
k: Integer;
begin
ShellWindow := CoShellWindows.Create;
Result := TStringList.Create;
for k := 0 to ShellWindow.Count do
begin
spDisp := ShellWindow.Item(k);
if spDisp = nil then Continue;
spDisp.QueryInterface(iWebBrowser2, WB);
if WB <> nil then
begin
WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
if iDoc1 <> nil then
begin
WB := ShellWindow.Item(k) as IWebbrowser2;
begin
if WB.LocationName = 'D R U G W O R L D 2004' then
GetHTMLCode(WB, Result);
end;
end;
end;
end;
end;
Der Code funktioniert mit jeder Page, nur bei Drugworld gibts Probleme (Es wird zwar Quellcode angezeigt, aber nichts von der Page
)
Hmm deshalb weiss ich nicht, ob der Fehler in dem Code steckt oder ob es was mit der Page zu tun hat. Bin für jede Antwort dankbar!