나는 C#에서 프로세스 programaticaly를 실행하려고합니다. process.start와 함께 할 수 있습니다. 하지만 프로세스가 몇 가지 사용자 입력을 중간에 요청하고 입력을 제공 한 후 다시 계속할 때 사용자를 prommt 할 수는 있습니다.에서 프로세스를 실행 중 #
답변
Process.StandardInput으로만 작성하십시오.
ProcessStartInfo.UseShellExecute를 false로 설정해야하며 ProcessStartInfo.RedirectStandardInput을 true로 설정해야합니다. 그렇지 않으면 StandardInput 스트림에 쓰면 예외가 발생합니다. –
@ John Buchanan : 내가 제공 한 링크에서 정확히 말한 것을 반복하여 주셔서 감사합니다. – leppie
OutputDataReceived 이벤트에 이벤트 처리기를 추가 할 수 있습니다. 프로세스가 일부 데이터를 리디렉션 된 출력 스트림에 쓸 때마다 호출됩니다.
private StreamWriter m_Writer;
public void RunProcess(string filename, string arguments)
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = filename;
psi.Arguments = arguments;
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
Process process = Process.Start(psi);
m_Writer = process.StandardInput;
process.EnableRaisingEvents = true;
process.OutputDataReceived += new DataReceivedEventHandler(OnOutputDataReceived);
process.BeginOutputReadLine();
}
protected void OnOutputDataReceived(object sender, DataReceivedEventArgs e)
{
// Data Received From Application Here
// The data is in e.Data
// You can prompt the user and write any response to m_Writer to send
// The text back to the appication
}
는 또한 또한 프로세스가 종료하면 감지 할 수 Process.Exited 이벤트가있다.
Here is a good article (C#에서 동기식 및 비동기식으로 프로세스를 실행할 때).
- 1. 프로세스를 죽이거나 닫는 중
- 2. PHP가 프로세스를 유지하는 중
- 3. 메모리 C에서 프로세스를 실행/C++
- 4. iOS에서 하위 프로세스를 실행 중입니까?
- 5. 메서드 실행 중 메시지 표시
- 6. Cygwin에서 - "실행 명령"에서 실행 스크립트 silenty
- 7. IronPython 스크립트를 C#에서 비동기 적으로 실행 중
- 8. iPhone 앱 실행 중 또는 실행 중 오류 발생
- 9. IIS에서 실행 중 오류보고
- 10. 실행 중 자기 삭제
- 11. FileNotFoundException NUnit을 실행 중
- 12. Sax 파서를 실행 중
- 13. EXE 서버에서 실행 중
- 14. 실행 중 오류가 발생했습니다.
- 15. cmd에서 항아리를 실행 중
- 16. 우분투에서 Windows를 실행 중
- 17. 파일을 복사하기 전에 프로세스를 종료하는 중
- 18. 여러 자식 프로세스를 생성하는 중 문제가 발생했습니다.
- 19. int main() 지속적으로 실행 중
- 20. VBA를 사용하여 regsvr을 실행 중
- 21. django, fastcgi : 장기 실행 프로세스를 관리하는 방법?
- 22. 는 윈도우 7 시작 화면에서 프로세스를 실행
- 23. Django보기에서 장기 실행 프로세스를 시작하는 방법은 무엇입니까?
- 24. 프로세스를 사용하여 매개 변수가있는 일괄 처리 실행
- 25. SOA에서 장기 실행 프로세스를 업데이트하는 전략은 무엇입니까
- 26. 어떻게 트위스트 긴 - 실행 - 프로세스를 생성하는
- 27. 서블릿 실행 중 문제가 발생했습니다.
- 28. 프로세스를 실행하고 VC++에서 표준 출력을 반환
- 29. C++에서 열린 프로세스를 확인하는 방법은 무엇입니까?
- 30. C++에서 하위 프로세스를 쿼리하는 방법
프로세스가 입력을 정확히 요구하는 방법은 무엇입니까? –
은 C 컴파일러의 예를 보여줍니다. C 코드로 programaticaly를 컴파일하는 경우 C 코드에서 scanf 문이있는 곳이면 어디든지 사용자가 inpurt에 대해 경고해야합니다. 입력을 제공 한 후 프로세스를 계속 진행해야합니다. 어떻게하면 프로세스를 실행하는 실제 상황을 얻을 수 있습니다 나는 간단한 프로세스에서 사용자 정의 UI를 제공하기를 원합니다. – rajshades