![]() |
mit ShellExecute Browser öffnen
Hallo,
ich versuche mit
Delphi-Quellcode:
die URL aus Edit3 in einem Browser zu öffen, nur wir wenn schon offen der geöffnete Browser benutzt.
StrPCopy(TMP1, Edit3.Text);
ShellExecute(1,NIL,TMP1,NIL,NIL,SW_ShowNormal); Ich möchte aber das ein neuse Browser-Fenster geöffnet wird. Danke PiT |
Re: mit ShellExecute Browser öffnen
Hi!
Das hatten wir schonmal (der Thread war von mir oder ich habe zumindest darin gepostet) Es gibt einen Option open_new, diese funktioniert allerdings nur im IE und ist deshalb nicht sonderlich ratsam. Ciao Frederic |
Re: mit ShellExecute Browser öffnen
Hi,
versuche es mal hiermit:
Delphi-Quellcode:
mfG
uses Registry, Windows, ShellAPI;
function GetDefaultBrowser: String; var Browser: string; begin Browser := ''; with TRegistry.Create(KEY_READ) do try RootKey := HKEY_CLASSES_ROOT; Access := KEY_QUERY_VALUE; if OpenKey('\http\shell\open\command', False) then Browser := ReadString('') ; CloseKey; finally Free; end; if Browser <> '' then begin Browser := Copy(Browser, Pos('"', Browser) + 1, Length(Browser)) ; Browser := Copy(Browser, 1, Pos('"', Browser) - 1) ; end; Result := Browser; end; function NavigateTo(const aURL: String): Integer; var DefaultBrowser: String; begin DefaultBrowser := GetDefaultBrowser; if (DefaultBrowser <> '') then Result := ShellExecute(0, 'open', PChar(DefaultBrowser), PChar(aURL), nil, SW_SHOWNORMAL) else Result := ShellExecute(0, 'open', PChar(aURL), nil, nil, SW_SHOWNORMAL); end; mirage228 |
Re: mit ShellExecute Browser öffnen
ich benutz dafür im allgemeinen folgende funktion (welche vermutlich nix anderes macht als die von meinem vorposter (nicht angeguckt, nur überflogen und für ziemlich lang empfunden))
Delphi-Quellcode:
procedure OpenHttpSite(AURL: String);
var LRegistry: TRegistry; LBrowser: String; LStart, LEnd: Integer; begin LRegistry := TRegistry.Create(KEY_READ); try LRegistry.RootKey := HKEY_CLASSES_ROOT; if LRegistry.OpenKey('http\shell\open\command', false) then begin LBrowser := LRegistry.ReadString(''); if pos('"', LBrowser) > 0 then begin LStart := pos('"', LBrowser); LEnd := PosExt('"', LBrowser, LStart + 1); if LEnd > 0 then LBrowser := copy(LBrowser, LStart + 1, LEnd - (LStart + 1)); end; LRegistry.CloseKey; end; finally LRegistry.Free; end; if ShellExecute(0, 'open', PChar(LBrowser), PChar(AUrl), nil, SW_SHOW) <= 32 then ShellExecute(0, 'open', PChar(AUrl), nil, nil, SW_SHOW) end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz