Erhöhen Sie ein laufendes Programm zum Administrator (Windows 7)

35

Manchmal öffnen Sie möglicherweise ein Programm, das Sie als Administrator ausführen möchten, aber möglicherweise haben Sie es bereits nicht als Administrator geöffnet. Ist es möglich, die Berechtigungen eines bereits laufenden Programms in Windows 7 zu erhöhen, oder muss ich als Administrator schließen und neu starten?

Casebash
quelle
8
Sudo für den Gewinn!
Josh K
1
@Josh K - er - Wie können Sie eine bereits laufende App mit erhöhen sudo?
Sathyajith Bhat
Es ist magisch, Sie müssten man sudofür weitere Informationen dekodieren .
Josh K
2
@ Josh, wenn nichts anderes, können Sie immer verwenden pseudo;)
Tomas Aschan

Antworten:

26

Unglücklicherweise nicht. Ein laufender Prozess kann nicht auf Administratorrechte erhöht werden. Ich suche nach einer aussagekräftigeren Quelle, habe aber vorerst Folgendes gefunden:

  1. "Programme können nicht erhöht werden, sobald sie bereits gestartet wurden ..."

  2. "Code kann nur beim Start auf Prozessebene erhöht werden, was bedeutet, dass ein laufender Prozess nicht erhöht werden kann."

Stephen Jennings
quelle
1
Das ist absolut falsch. Die Win32-API unterstützt die Erhöhung von beliebigen Anwendungen, die bereits ausgeführt werden, obwohl die betreffende Anwendung die Funktionalität selbst verfügbar machen muss. Dieser Artikel und der zugehörige Quellcode zeigen, wie dies erreicht werden kann. Es ist denkbar, dass man eine Anwendung schreiben könnte, um andere Prozesse auszuwählen und zu
verbessern
8
@Fopedush Obwohl in diesem Artikel diese Technik als "selbsterhöhend" beschrieben wird, scheinen diese Beispielprogramme tatsächlich eine neue Instanz des Prozesses mit ShellExecuteExund dem Verb "runas" zu starten. Ich denke nicht, dass dies die Notwendigkeit des OP erfüllt, ein bereits laufendes Programm zu verbessern (es wird beispielsweise seinen gesamten Status verlieren).
Stephen Jennings
Wenn eine nicht erhöhte Total Commander 8.01-Instanz bei einem Vorgang wie dem Kopieren in einen Unterordner mit Programmdateien blockiert wird, bietet sie die Möglichkeit, "es als Administrator erneut zu versuchen". Kann dies nicht auf "fremde" (nicht Selbst-) Prozesse ausgedehnt werden?
n611x007
3
@naxa Ich habe Total Commander nicht verwendet, aber ich würde wetten, dass die Option "Als Administrator wiederholen" tatsächlich einen vollständig separaten Prozess mit erhöhten Rechten erzeugt, der die privilegierte Arbeit ausführt. Der Prozess-Explorer führt dies aus, wenn Sie "Details für alle Prozesse anzeigen" auswählen, eine neue erhöhte Kopie von sich selbst starten und die nicht erhöhte Kopie schließen. Wenn dies der Fall ist, müssen Programme speziell geschrieben werden, um zu wissen, wie der zweite Prozess korrekt gestartet wird.
Stephen Jennings
1
@StephenJennings Sie haben völlig Recht - das von mir verknüpfte Codebeispiel wird tatsächlich nur mit dem Befehl runas neu gestartet. Ich hätte den Code zusätzlich zum Artikel vor dem Kommentieren überprüfen sollen. Ich hatte den Eindruck, dass die WIN32-API eine Art Hebemechanismus enthüllt hat - aber ich erinnere mich vielleicht falsch. Ich werde mich umsehen und wieder posten, wenn ich finde, woran ich gedacht habe.
Fopedush