2011-02-18 4 views
1

SysInteranls Autologon.exe 파일에 인수를 전달하려고하는데 그렇게 할 수 없습니다. 이것은 내가 사용하고 C# 코드입니다 :C# Sysinternals Autologon.exe에 인수 전달

나는 startInfo.Arguments = "사용자의 도메인 암호"를 설정하면 그것은 작동
string usr = usrTextBox.Text.ToString(); 
       string auto = autologon; 
       string domain = STORES; 
       string pass = password; 
       ProcessStartInfo startInfo = new ProcessStartInfo(); 
       startInfo.CreateNoWindow = false; 
       startInfo.UseShellExecute = false; 
       startInfo.FileName = "Autologon.exe"; 
       startInfo.WindowStyle = ProcessWindowStyle.Hidden; 
       startInfo.Arguments = usr + domain + pass; 
       Process.Start(startInfo); 

; 도움을 주시면 대단히 감사하겠습니다.

토드

+0

왜 그렇게 할 수 없다고합니까? 오류가 보이십니까? 그렇다면, 무엇? – Odrade

+0

''usr','domain'과'pass'가 정확하게 포맷되었는지 확인 했습니까? –

+0

안녕하세요, 향후 AutoLogon 직원 : 3 개의 매개 변수 앞에 "/ accepteula"를 추가하여 나타나는 EULA 대화 상자를 자동으로 수락 할 수 있습니다. 이것을 설치 프로그램에서 배포하는 것이 좋습니다. – Andy

답변

5

마지막 문장에 따르면, 사이에 공백이 있어야합니다.

startInfo.Arguments = usr + " " + domain + " " + pass; 

코드 클리너를 유지하려면 string.Format 메서드를 사용하십시오.

startInfo.Arguments = string.Format("{0} {1} {2}", usr, domain, pass); 
+0

또한 au '-'(대시) 앞에 공백이 있는지 확인하십시오. 디버거에서'startInfo.Arguments'를보고 공간이 있는지 확인하십시오. – cofiem