Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#5

Re: Mehrere Instanzen des IE aufrufen?

  Alt 13. Feb 2008, 21:00
So, was stört ich mein Geschwätz von vorhin. Folgendes scheint jetzt zu funktionieren:

Delphi-Quellcode:
procedure Tfo~~.CallInternetAddress(URL:String;Multiple:Boolean);

  function DefaultBrowser:String;
  var Reg : TRegistry;
  begin
    Reg:=TRegistry.Create(KEY_READ);
    try
      Reg.RootKey:=HKEY_CLASSES_ROOT;
      if Reg.OpenKeyReadOnly('\htmlfile\shell\open\command') then
        Result:=Reg.ReadString('');
      if Result[1]='"then begin
        delete(Result,1,1);
        Result:=copy(Result,1,pos('"',Result)-1);
        end;
    finally
      Reg.Free;
      end;
  end;

begin
  if Multiple then ShellExecute(Handle,
                                'open',
                                PChar(DefaultBrowser),
                                PChar(URL),
                                nil,
                                SW_ShowNormal)
 
              else ShellExecute(Handle,
                                'open',
                                PChar(URL),
                                nil,
                                nil,
                                SW_ShowNormal)
end;
Hoffentlich ist das ein Schlüssel, der in allen Windows-Versionen passt. Für XP ist es offenbar der Richtige. Mit Aufruf kann nun bestimmt werden, ob die URL in einer neuen Instanz geöffnet werden soll. Zusätzlich wäre noch nett, Position und Größe des Browserfensters festzulegen - aber diese Erweiterung ist ja keine große Aktion...
Ralph
  Mit Zitat antworten Zitat