Heim > Backend-Entwicklung > C++ > Wie kann ich Prozesse programmgesteuert mit erhöhten Privilegien in C#ausführen?

Wie kann ich Prozesse programmgesteuert mit erhöhten Privilegien in C#ausführen?

Barbara Streisand
Freigeben: 2025-01-31 10:11:09
Original
293 Leute haben es durchsucht

How Can I Programmatically Run Processes with Elevated Privileges in C#?

programmgesteuert die Prozessberechtigungen in C#

Viele Anwendungen erfordern erhöhte Berechtigungen, um bestimmte Aufgaben auszuführen, z. B. die Installation von Diensten mit InstallUtil.exe. Die Standardmethode wird jedoch mit den Standardberechtigungen der Anwendung ausgeführt. Dieser Artikel zeigt, wie Prozesse mit erhöhten Berechtigungen in C#Process.Start ausgeführt werden können

Betrachten Sie den folgenden Code -Snippet:

<code class="language-csharp">ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start(startInfo);</code>
Nach dem Login kopieren
Dieser Code startet einen Prozess mit Standard -Benutzerberechtigungen. Um die Privilegien zu erhöhen, ändern Sie

: startInfo

<code class="language-csharp">startInfo.UseShellExecute = true;
startInfo.Verb = "runas";</code>
Nach dem Login kopieren
Einstellung

zu UseShellExecute und true zu Verb weist das System an, den Prozess mit erhöhten Berechtigungen zu starten, ähnlich wie mit der rechten Maustaste und Auswahl "als Administrator ausführen". Diese Methode löst die UAC -Eingabeaufforderung (Benutzerkontosteuerung) aus und erfordert die Bestätigung der Benutzer. "runas"

Für Szenarien, in denen UAC -Eingabeaufforderungen unerwünscht sind, wird empfohlen, ein Anwendungsmanifest einzubetten. Das Anfordern der Ausführungsstufe "HigheRestavable" im Manifest veranlasst UAC beim Antragsstart und gewährt allen nachfolgenden untergeordneten Prozessen ohne weitere Unterbrechungen erhöhte Berechtigungen. Dies bietet eine nahtlosere Benutzererfahrung.

Das obige ist der detaillierte Inhalt vonWie kann ich Prozesse programmgesteuert mit erhöhten Privilegien in C#ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage