문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top