programmgesteuert die Prozessberechtigungen in Windows
erheben In diesem Handbuch wird erläutert, wie programmgesteuert die Prozessberechtigungen in Windows erhöht werden, ein notwendiger Schritt bei der Ausführung privilegierter Aufgaben wie der Installation von Diensten mit InstallUtil.exe
. Wir werden zwei Methoden untersuchen: Verwenden des runas
Verb und ein Anwendungsmanifest.
Die einfachste Methode besteht darin, die Eigenschaft Verb
des ProcessStartInfo
-Objekts zu verwenden. Das Einstellen von Verb
in "Runas" fordert das Dialogfeld "Benutzerkontosteuerung) auf und fordert die Benutzerberechtigung auf, den Prozess zu erhöhen. Dies ähnelt der rechten Maustaste auf eine ausführbare Datei und die Auswahl "Ausführen als Administrator".
Wenn Sie jedoch wiederholte UAC-Eingaben vermeiden möchten, insbesondere bei langjährigen Prozessen, können Sie den gesamten Hostprozess erhöhen. Dies wird erreicht, indem eine Anwendungsmanifestdatei (ein UAC -Manifest) erstellt und einbezogen wird, das die Ausführungsstufe highestAvailable
angibt. Die UAC -Eingabeaufforderung wird nur einmal beim Anwendungsstart angezeigt, und alle nachfolgenden Kinderprozesse erben diese erhöhten Berechtigungen.
Hier erfahren Sie, wie Sie das runas
Verb:
ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath); startInfo.UseShellExecute = true; startInfo.Verb = "runas"; System.Diagnostics.Process.Start(startInfo);
Einstellung UseShellExecute
zu true
und Verb
zu "runas"
sorgt dafür, dass der Prozess mit erhöhten Berechtigungen ausgeführt wird, vorbehaltlich der UAC -Genehmigung. Die Alternative mit einem Anwendungsmanifest erfordert mehr Einrichtung, vermeidet jedoch wiederholte UAC -Wechselwirkungen.
Das obige ist der detaillierte Inhalt vonWie kann ich programmgesteuert die Prozessberechtigungen in Windows erhöhen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!