Programm mit ShellExecute gleich mit hohen Privilegien starten
-
Hallo alle zusammen
Ich benötige eure Hilfe:
Ich schreibe gerade ein kleines Konsolentool in C++.
Ich möchte erreichen, dass unter einem normalen Benutzerkonto mit ShellExecute eine Datei mit hohen Privilegien ausgeführt wird.Mit „runas“ wird zwar die Datei als Benutzer mit administrativen Rechten ausgeführt, jedoch nur mit mittleren Privilegien. Diese muss man noch aufgrund der UAC bestätigen, dass man hohe Privilegien bekommt.
Aktuell wird mit folgendem Code
SHELLEXECUTEINFO ShExecInfo; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfo.fMask = 0; ShExecInfo.hwnd = NULL; ShExecInfo.lpVerb = ("runas"); ShExecInfo.lpFile = ("cmd"); ShExecInfo.lpParameters = NULL; ShExecInfo.lpDirectory = NULL; ShExecInfo.nShow = SW_SHOW; ShExecInfo.hInstApp = NULL; ShellExecuteEx(&ShExecInfo);
erreicht, dass die Command Prompt als Administrator geöffnet wird. Von dort aus kann ich die Datei durch manuelle Eingabe mit hohen Privilegien starten.
Das möchte ich nun automatisieren. Bedeutet, wenn ShellExecute aufgerufen wird, soll ein Programm von Anfang an mit hohen Privilegien ausgeführt werden. Oder ich kann in der geöffneten Command Prompt als Administrator mit hohe Privilegien nachfolgend anweisen eine Datei zu öffnen.
Ich habe schon sehr lange im Netz gesucht, aber finde keine exakte Lösung.
Ich bitte um Verständnis, weil in bin leider noch kein Profi, was C++ angeht.Über jede Hilfe wär ich sehr dankbar
Danke & Viele Grüße
-
@web-codex Probier mal bei
lpParameters
den String"/C auszuführendes kommando inklusive argumente"
mitzugeben.
Falls du mehr als nur ein Kommando ausführen willst, wirst du ein Batch-File machen müssen und dieses dann mit"/C pfad\zum\batchfile.bat batch file argumente"
ausführen.
-
@web-codex sagte in Programm mit ShellExecute gleich mit hohen Privilegien starten:
Ich bitte um Verständnis, weil in bin leider noch kein Profi, was C++ angeht.
Das nichts zu tun haben mit C++. Entschuldigen meine Deutsch aber glauben Nachricht klar.
-
@hustbaer: danke dir ich werde dir berichten, ob es klappt.
@Swordfish: Ja, du hast recht,Ich melde mich wieder, wenn ich es testen konnte.
-
@web-codex sagte in Programm mit ShellExecute gleich mit hohen Privilegien starten:
@Swordfish: Ja, du hast recht,
Ne, recht ich haben.
-
@Swordfish
Was issn dir über die Leber gelaufen?
-
@hustbaer Ach, das willst Du garnicht so genau wissen.
-
@hustbaer : Danke nochmal für deine Hilfe Hat geklappt!