Du musst den Prozess mit CreateProcess starten damit die Rechte des startenden Prozesses vererbt werden. ShellExecute beauftragt die Windows Shell mit dem neu Starten. Und diese sorgt für neuerliche
UAC-Prüfung/Abfrage.
Windows Vista - Eine neue Erfahrung in Fehlern.