Gibt es also keinen Trick, von einem elevated Programm aus sich selbst als nicht-elevated neu zu starten?
Mir ist zumindest kein offizielles Verfahren bekannt.
In der
madCollection gibt es in madKernel aber eine Funktion
NewProcessAsUser. Vielleicht kann man damit was erreichen, aber ich kann das gerade nicht ausprobieren.
CreateProcessWithLogonW,
CreateProcessAsUser
oder selbst SecurityAttribute besorgen und
CreateProcess.
Problem dabei ist, dass dort wohl überall ohne das
UAC der User mit den vollen angeforderten Rechten gestartet wird.
Eventuell über die Aufgabenplanung versuchen? (dort eintragen, dass der Prozess in aktuelle Zeit + x Sekunden gestartet werden soll)
Ich weiß jetzt nicht welche Rechte das
UAC standardmäßig deaktiviert ... eventuell kann man seine eigenen Berechtigungen klonen, jene Berechtigungen entfernen und dann damit den Prozess starten.