2012-09-19 3 views
1

C# 프로그래밍에 익숙하지 않으며 명령 줄에서 직접 실행하는 대신 exe에서 해당 자격 증명을 사용하여 일부 자격 증명을 난독 화하려고 시도하고 있습니다. 이것은 Sysinternal의 Autologon.exe에 관한 것입니다.응용 프로그램을 명시 적으로 실행하지 않을 때 보안 프롬프트가 표시됩니다.

명령 줄 :
C : \ Autologon.exe Admin. Pa $$ word

C# :
System.Diagnostics.Process.Start (@ "C : \ Autologon.exe", @ "Admin Pa $$ word");

위의 명령 줄 버전은 Windows 7의 UAC로 문제를 제기하지 않고 실행하지만 C# 버전에서는 실행될 때마다 실행 또는 취소하라는 메시지를 표시합니다. 이것은 내가 작성한 매우 크고 복잡한 자동화 된 유틸리티의 아주 작은 부분이므로 프롬프트가 좋지 않습니다. 명령 줄 버전을 실행하면 다시 프롬프트가 표시되지 않지만 C# exe를 통해 실행하면 프롬프트가 표시됩니다. 도움말 크게 감사드립니다.

미리 감사드립니다.

답변

0

다음과 같이 변경하십시오.

System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = @ "C : \ Autologon.exe";
startInfo.Arguments = "Admin. Pa $$ word";
startInfo.UseShellExecute = false;
System.Diagnostics.Process.Start (startInfo);

키는 UseShellExecute = false입니다.

관련 문제