프로그래밍 방식으로 CMD.exe를 Vista, C# 관리자로 실행합니다.
-
21-08-2019 - |
문제
Visual Studio 설정 및 배포 프로젝트가 있습니다. .CMD 스크립트를 추가했습니다. 스크립트는 관리자 권한을 실행해야합니다. 사용자가 setup.exe를 클릭하면 UAC는 사용자에게 관리자 권한을 유발합니다. 그래서 나는 setup.exe 내에서 생성되고 호출 된 모든 프로세스가 관리자 용량으로 실행된다고 가정했습니다. 그래서 다음 코드가 포함 된 콘솔 애플리케이션을 설정했습니다.
ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);
따라서 관리자 공간에서 실행되면서 작동해야했습니다.
C# 프로세스 클래스를 통해 CMD.exe를 관리자로 실행하고 싶습니다. Windows Vista를 실행하고 싶습니다.
나는 작동하지 않았다! 어떡해?
해결책
실행 해보세요 runas
명령:
...
using System.Diagnostics;
...
string UserName = "user name goes here";
ProcessStartInfo p1 = new ProcessStartInfo();
p1.FileName = "runas";
p1.Arguments = String.Format("/env /u:{0} cmd", UserName);
Process.Start(p1);
...
(그리고 나는 당신이 명백한 useeshellexecute가 필요하다고 생각하지 않습니다)
다른 팁
이걸 시도해보세요.
...
using System.Diagnostics;
...
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
startInfo.Arguments = "/env /user:" + "Administrator" + " cmd";
Process.Start(startInfo);
...
Ashutosh
제휴하지 않습니다 StackOverflow