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???