![]() |
UAC blockiert ShellExecute??
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. :gruebel: 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??? |
Re: UAC blockiert ShellExecute??
Hi Alfi001,
1) Bist Du nicht auf die Idee gekommen, mal den Rückgabewert der Funktion (!) ShellExecute zu prüfen? Welchen Rückgabewert liefert ShellExecute - wenn die UAC Vermutung stimmt, müsste das ja z.B. SE_ERR_ACCESSDENIED (5) sein. 2) Was übergibst Du als Handle? Ändert sich was, wenn Du 0 explizit als Handle übergibst? Zitat:
Gruß Assertor |
Re: UAC blockiert ShellExecute??
Zitat:
Zitat:
|
Re: UAC blockiert ShellExecute??
Mittwoch,
:roll: Alfi001, ich nehme alles zurück und entschuldige mich für 1) - aber probier mal mein 2). @DeddyH: Wenn ich Dich manchmal nicht hätte... :thumb: und Feierabend: :cheers: Gruß Assertor |
Re: UAC blockiert ShellExecute??
Ich auch :cheers:
|
Re: UAC blockiert ShellExecute??
[quote="Assertor"]
2) Was übergibst Du als Handle? Ändert sich was, wenn Du 0 explizit als Handle übergibst? [quote="Alfi001"] Ja. Es ändert sich was: Es funktioniert dann nämlich! :bounce1: :bounce1: :bounce1: Komisch bisher habe ich immer das Handle des Aufrufenden Fensters übergeben (das soll ja wohl das Handle sein das bei eventuell auftretenden ehlern für die Dialoge "zuständig" ist) Danke für den Tip!!! Ciao, Ralf |
Re: UAC blockiert ShellExecute??
Zitat:
Ja, mit dem ShellExecute Handle ist so eine Sache. Hauptsache es geht jetzt ;) Gruß Assertor P.S.: Zitat:
|
Re: UAC blockiert ShellExecute??
Zitat:
|
Re: UAC blockiert ShellExecute??
Zitat:
Gruß Assertor |
Re: UAC blockiert ShellExecute??
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz