Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#2

Re: Mein IE macht seit neusten Mucken

  Alt 21. Nov 2004, 05:59
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;
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat