2017-02-03 4 views
1

Ich möchte das Devcon-Tool in meinem Programm nutzen können. Aber Devcon erfordert Erhöhung der UAC. Ich sehe, dass es funktioniert, wenn ich es mit administrativen Eingabeaufforderung ausführen, aber jede Möglichkeit, dies auszulösen? Ich weiß, wie ich verlangen kann, dass mein gesamtes Programm erhöht wird, aber ich möchte, dass normale Nicht-Admins dies nutzen können.Kann ich eine ausführbare Datei als Systembenutzer/Administrator ausführen?

Vor allem mit devcon.exe/rescan suchen, so dass normale Benutzer nach Treibern suchen können.

+0

Verwenden Sie 'Process' Klasse mit' runas' als Verb. Es gibt eine Menge existierender Diskussionen. –

+0

Schlägst du vor, dass dein Programm in einem nicht erhöhten Status ausgeführt werden sollte, aber in der Lage sein muss, Aktionen auszuführen, die eine Erhöhung erfordern? –

+0

Offensichtlich ist der Zweck der UAC, so eine Verwendung zu verhindern. Microsoft hat eine Menge Anstrengungen unternommen, um zu verhindern, dass Personen wie Sie verdächtige Aktivitäten auf einem Computer ausführen, ohne dass der Benutzer davon erfährt. ** Hören Sie auf, die UAC zu hacken. ** Leute wie Sie tragen dazu bei, Windows langsamer zu machen, weil es härter arbeiten muss, damit schlechte Software keine schlechten Dinge auf dem System macht. – Phil1970

Antwort

2

Wenn Sie die ProcessStartInfo zu konfigurieren, setzen UseShellExectue zu true und Verb zu runas, um die UAC-Fenster zu sehen:

ProcessStartInfo process= new ProcessStartInfo(locationOfDevconExe); 
    process.UseShellExecute = true; 
    process.Verb = "runas"; 

Wenn Sie noch nicht die UAC-Fenster sehen können, dann wird es in der definiert Registrierungsschlüssel ConsentPromptBehaviorUser automatisch ablehnen. Der Schlüssel soll unter diesem Pfad befindet:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 

also den Wert von 0 ändern (automatisch verweigern) bis 1 (die Eingabeaufforderung anzuzeigen).

Verwandte Themen