Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi UAC erhöhte Rechte anfordern (https://www.delphipraxis.net/191759-uac-erhoehte-rechte-anfordern.html)

XXcD 16. Feb 2017 15:19

UAC erhöhte Rechte anfordern
 
Hallo,

ist es möglich mit dem Popup für erhöhte Rechte zu Arbeiten ohne eine Anwendung zu starten.

Es geht darum, dass ich gerne für das Bearbeiten eines TEdit Feldes Adminrechte anfordern möchte.

Hat sowas möglicherweise schon einer gemacht?
Bei Goggle und in DP finde ich nur was in Verbindung mit Shellexecute.

Danke schonmal im Vorraus.

bra 16. Feb 2017 15:26

AW: UAC erhöhte Rechte anfordern
 
Ich bezweifle dass das möglich ist, es wird ja immer das komplette Programm mit den entsprechenden Berechtigungen ausgeführt.

t.roller 16. Feb 2017 15:46

AW: UAC erhöhte Rechte anfordern
 
Willst Du, dass ein Edit.ReadOnly:= TRUE in ein Edit.ReadOnly:= FALSE geändert wird, wenn ein Admin mit Elevation arbeitet?
Kopple das mit einem Button.ElevationRequired:= TRUE.

Der schöne Günther 16. Feb 2017 15:59

AW: UAC erhöhte Rechte anfordern
 
Zitat:

Zitat von XXcD (Beitrag 1361858)
ist es möglich mit dem Popup für erhöhte Rechte zu Arbeiten ohne eine Anwendung zu starten

Kurzum: Nein. Dieser Dialog dreht sich immer um das Starten eines Prozesses.

Uwe Raabe 16. Feb 2017 16:21

AW: UAC erhöhte Rechte anfordern
 
Zitat:

Zitat von t.roller (Beitrag 1361863)
Willst Du, dass ein Edit.ReadOnly:= TRUE in ein Edit.ReadOnly:= FALSE geändert wird, wenn ein Admin mit Elevation arbeitet?
Kopple das mit einem Button.ElevationRequired:= TRUE.

Dabei wird aber nur das entsprechende Symbol auf dem Button dargestellt. Funktional bringt das erstmal nichts.

t.roller 16. Feb 2017 16:34

AW: UAC erhöhte Rechte anfordern
 
Liste der Anhänge anzeigen (Anzahl: 4)
Klar, man muss auch den entsprechenden Code dafür haben.
http://pastebin.com/w4X4pHpC

Alles im Anhang.

RunElev-01: Mit allen Rechten.
RunElev-02: Alle Rechte gibt es erst nach
Anklicken von "Install updates".

bra 16. Feb 2017 17:04

AW: UAC erhöhte Rechte anfordern
 
Der Code macht aber auch nichts anderes als ein ShellExecute...

himitsu 16. Feb 2017 17:45

AW: UAC erhöhte Rechte anfordern
 
Man könnte zwar einen Thread mit höheren/anderen Rechten laufen lassen,
aber den UAC-Dialog bekommt man dafür nicht ran, sondern müsste dann einen eigenen Dialog anzeigen,
und es ist eigentlich etwas besserer/sicherer, wenn man nur komplette Prozesse mir den höheren/anderen Rechten laufen lässt.

Bissl was zum Lesen
https://technet.microsoft.com/en-us/.../cc961980.aspx
MSDN-Library durchsuchenImpersonateLoggedOnUser MSDN-Library durchsuchenRevertToSelf

jaenicke 17. Feb 2017 05:52

AW: UAC erhöhte Rechte anfordern
 
Man kann das durchaus auch mit dem Original-UAC-Dialog machen. Die Stichwörter sind Out-Of-Process COM Server und COM Elevation Moniker:
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Dafür gibt es mit etwas Suche auch Beispiele in Delphi.

// EDIT:
Die JEDIs haben da etwas Fertiges:
http://web.archive.org/web/201603311...ta-with-jwscl/


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 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