Den Fehler kannst du leicht beseitigen, wenn du den Code etwas änderst:
Delphi-Quellcode:
procedure TDemoForm.UrlButtonClick(Sender: TObject);
var
sw: IShellWindows;
i: Integer;
begin
sw := CoShellWindows.Create;
for i := 0 to Pred(sw.Count) do
if sw.Item(i) is IWebBrowser2 then
with sw.Item(i) as IWebBrowser2 do
ShowMessage(Format('%d %s', [HWND, LocationURL]));
end;
Die Schleife liefert dir IMO das
Handle für das jeweilige top level window. Nimm doch mal das
Handle, welches dir dein Tool liefert und hangele dich in einer Schleife über dessen parent windows - dabei sollte dir irgendwann ein
Handle bekannt vorkommen.
marabu