Frage von Benni517, 41

C# anderes Programm als Administrator starten?

Also ich möchte eine Batch starten lassen über mein c# code. Aber so das sie mit Administrator rechten ausgeführt wird. Reicht es den C# code als Admin auszuführen? Oder was muss ich dann noch zusätzlich einbauen?

Antwort
von Berny96, 28

Anstatt "Process.Start("Pfad", "Argumente");"

verwende doch diese Methode:

public static int RunProcessAsAdmin(string exeName, string parameters)
{
try {
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = CurrentDirectory;
startInfo.FileName = Path.Combine(CurrentDirectory, exeName);
startInfo.Verb = "runas";
//MLHIDE
startInfo.Arguments = parameters;
startInfo.ErrorDialog = true;

Process process = System.Diagnostics.Process.Start(startInfo);
process.WaitForExit();
return process.ExitCode;
} catch (Win32Exception ex) {
WriteLog(ex);
switch (ex.NativeErrorCode) {
case 1223:
return ex.NativeErrorCode;
default:
return ErrorReturnInteger;
}

} catch (Exception ex) {
WriteLog(ex);
return ErrorReturnInteger;
}
}

Sie wird auch entsprechende Fehlerbehandlungen durchführung von denen ich aber nicht genau weiß welche.

Gefunden hier: http://bit.ly/2bPb9yj

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten