Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#1

Webseite im Standardbrowser laden (Probleme)

  Alt 23. Apr 2004, 18:57
Ich weiß, es gibt schon zu viele Fragen dieser Art, aber dennoch hat mir nicht's richtig gehlfen.

Also ich möchte eine Webseite in einen neuen Fenster des Standardbrowsers laden, aber es geht nicht:

Das öffnet zwar die Seite, aber nur wenn schon ein Browserfenser vorhanden ist, sonst passiert nicht'sShellExecute(0, 'open', 'http://www.xyz.de/index.php#pos', '', nil, SW_Show); Ohne Angabe von #pos wird notfalls ein Fenster geöffnet (wenn noch keines offen ist), aber wenn schon eies da ist, dann wird auch hier die Seite in dem vorhandenemn geladenShellExecute(0, 'open', 'http://www.xyz.de/index.php', '', nil, SW_Show); geht auch nicht - es heist dort "Zugriff verweigert", dabei bin ich als Admin angemeldet?
(das Programm/Verzeichnis wird aus der Registry geholt und dieser Pfad ist auch in Ordnung)ShellExecute(0, 'open', PChar(Prog), 'http://...', nil, SW_Show); Auch wenn es nicht mit WinExec hab ich es schon versucht.
Delphi-Quellcode:
WinExec('http://www.xyz.de/index.php#pos', SW_SHOW);
WinExec(PChar('"' + Prog + '" http://www.xyz.de/index.php#pos'), SW_SHOW);

mein derzeitiger Code, der eigentlich funktionieren sollte - zumindestens wird im Fehlerfall (der ja komischer Weise immer ist) die Seite dennoch geöffnet, wenn auch nicht dort, wo sie soll :
(da in der Registry '"K:\Programme\Internet Explorer\iexplore.exe" -nohome' steht, wird " und der Parameter noch entfernt)
Delphi-Quellcode:
Prog := '';
With TRegistry.Create(Key_Read) do
  Try
    RootKey := HKEY_CLASSES_ROOT;
    If OpenKey('http\shell\open\command', false) Then Begin
      Prog := Trim(ReadString(''));
      CloseKey;
    End;
  Finally
    Free;
  End;
If Pos('"', Prog) > 0 Then Begin
  If Prog[1] = '"Then Delete(Prog, 1, 1);
  Prog := Trim(Copy(Prog, 1, Pos('"', Prog) - 1));
End Else
  If Pos(' ', Prog) > 0 Then Prog := Copy(Prog, 1, Pos(' ', Prog) - 1);
If (Prog = '') or (ShellExecute(0, 'open', PChar(Prog),
  'http://www.xyz.de/index.php#pos', nil, SW_Show) <> 0) Then
  If ShellExecute(0, 'open', 'http://www.xyz.de/index.php#pos', '', nil, SW_Show) <> 0 Then
    ShellExecute(0, 'open', 'http://www.xyz.de/index.php', '', nil, SW_Show);
Falls keinem was einfällt, dann wäre ich auch damit zufriden, wenn ich erfahr' wie man vor Programm aus einen Link in einem TWebBrowser anklicken kann, da zumindestens dieses mal ein WebBrowser mit im Programm ist.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat