Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mein IE macht seit neusten Mucken (https://www.delphipraxis.net/34273-mein-ie-macht-seit-neusten-mucken.html)

Jelly 20. Nov 2004 11:12


Mein IE macht seit neusten Mucken
 
Hallo,

bisher habe ich immer mit
Delphi-Quellcode:
URL := 'http://www.tp-soft.de' ;
ShellExecute (h,'open',PChar(URL),nil,nil,SW_SHOWNORMAL) ;
aus Programmen heraus den Standardbrowser gestartet und auf die Seite in URL verwiesen. Klappte immer hervorragend. Seit neustem startet auf meinem System allerdings nur noch der IE, ohne auf die gewünschte Seite zu springen. Das tuts nicht nur in meinen Programmen, sondern auch in anderen, wie z.B. meinem EMail Client. Klicke ich auf einen Link in einer Mail, wird die entsprechende Seite nicht geladen... :?:

Was kann das sein. Hab sicherlich irgendwas auf meinem System zerschossen, bin mir aber da keiner schlimmen Tat bewusst... Vielleicht weiss ja einer von euch Rat und hatte das Problem auch schon mal?

Gruß,

Sprint 21. Nov 2004 04:59

Re: Mein IE macht seit neusten Mucken
 
Ich musste auch leider immer wieder feststellen das auf einigen Zielrechnern der Standard WebBrowser nicht richtig registiert war. Und dann klappte auch ShellExecute in Verbindung mit der reinen URL nicht. Die Lösung für mein Problem war den WebBrowser direkt zu starten und als Parameter die URL zu übergeben, was ja das System eigentlich selber machen sollte. Um den EXE Dateinamen vom Standard WebBrowser zu ermitteln braucht man nur FindExecutable aufzurufen und auszuwerten.

Delphi-Quellcode:
uses
  ShellAPI;

...

function ExecWebBrowser(const URL: String): Boolean;
var
  TempFileName: String;
  ExeFileName: String;
  Handle: THandle;
begin

  Result := False;
  SetLength(TempFileName, MAX_PATH);
  SetLength(TempFileName, GetTempPath(Length(TempFileName), PChar(TempFileName)) - 1);
  TempFileName := IncludeTrailingPathDelimiter(TempFileName) + 'TMP.HTML';
  Handle := CreateFile(PChar(TempFileName), GENERIC_READ or GENERIC_WRITE, 0, nil, CREATE_ALWAYS, 0, 0);
  if Handle <> INVALID_HANDLE_VALUE then
  begin
    SetLength(ExeFileName, MAX_PATH);
    if FindExecutable(PChar(TempFileName), nil, PChar(ExeFileName)) > 32 then
      if ShellExecute(0, 'open', PChar(ExeFileName),PChar(URL), nil, SW_SHOWNORMAL) > 32 then
        Result := True;
    CloseHandle(Handle);
    DeleteFile(TempFileName);
  end;

end;

Jelly 21. Nov 2004 11:33

Re: Mein IE macht seit neusten Mucken
 
Danke Sprint, so funktionierts :thumb:

Die anderen Programme haben zwar immer noch Probleme eine Seite aufzurufen, was vor allem bei EMails stört die ich z.B. über die DP erhalte... Muss immer die URL aus der Mail mühsehlig in die Adresszeile meines Browsers kopieren... Der IE ist aber wunderbar als Standardbrowser eingetragen... Naja, wenns keine Lösung gibt, werd ich mich so durchbeissen müssen.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz