Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

UAC blockiert ShellExecute??

  Alt 17. Sep 2008, 16:28
Hallo,

in einem Programm will ich Webseiten per Browser aufrufen. das habe ich bisher immer per ShellExecute() gemacht.

Jetzt habe ich feststellen müssen, dass ShellExecute scheinbar bei einer aktivierten UAC nicht funktioniert. Es passiert schlicht und einfach nichts.

Der Rückgabewert von...

ShellExecute(handle, 'open', Pchar('http://delphipraxis.net'), nil, nil, SW_SHOWNORMAL)

...ist 2. Das bedeutet "Datei nicht gefunden", wenn ich einer Liste galuben darf die ich schon lange auf meinem Rechner habe.



Starte ich das Programm als Admin dann wird der Browser geöffnet und die Seite wird angezeigt.

Kann mir jemand sagen, wie man das Problem lösen kann? es kann ja wohl irgendwie nicht angehen, dass der User die UAC bestätigen muss wenn er per Programm eine Webseite anzeigen will. (die Seiten wären z.B. die Produktseite des Programmes, spezielle Informationsseiten usw. - Wie erklärt man einem Benutzer, dass dies jedesmal per UAC abzunicken sei???)

Ciao,
Ralf

EDIT:

Bin gerade mal auf die Idee gekommen, einfach mal ein anderes Programm per ShellExecute zu starten. Das funktionierte auch mit aktivierter UAC!!!!

Es sieht wohl so aus, als wenn man sich das Standardbrowser-Executeable suchen muss und das dann mit der Webseite als Parameter starten muss wenn die Anwendung keine Adminrechte hat. Wobei ich das nicht so ganz verstehe. Kann eine nicht-Admin-Anwendung nicht festellen welches Programm für "http://" zuständig ist???
Ralf Kaiser
  Mit Zitat antworten Zitat