3
나는 프로세스를 시작하고 프로세스가 종료가, 내가 가지고있는 코드는 C#으로 작성하고 내가 비슷한 델파이 가능합니다 궁금 할 때 처리 할 이벤트 핸들러를 사귀는 몇 가지 코드를 .프로세스를 시작 및 종료 이벤트를 수신
System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "notepad.exe";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new System.EventHandler(Process_OnExit);
myProcess.Start();
public void Process_OnExit(object sender, EventArgs e)
{
//Do something when the process ends
}
저는 델파이에 대해 잘 모릅니다. 감사합니다.
내가 INFINITE 사용하지 것이다하지만 시간 제한 및 루프가 필요한 경우 대기를 중단 할 수 또는 WaitForMultipleObject하기 : 여기
내가 그물을 긁어하는 프로세스를 생성하고 대기에 대한 몇 가지 코드() 이벤트를 기다림을 종료합니다. 그렇지 않으면 대기중인 스레드를 완전히 종료 할 수 없습니다. 또한 CreateProcess()가 실패하면 일반적인 오류 메시지를 표시하지 말고 RaiseLasOSError를 호출하여 실제 오류를 표시하십시오. –또 다른 힌트 : FilLChar 마지막 매개 변수는 char 일 필요가 없습니다. 바이트 일 수 있습니다. 유니 코드 문제를 피하려면, 이진 구조체에 0을 채우는 경우 # 0이 아닌 0을 전달하십시오. –
좋은 조언 @ldsandon. 두 가지 모두 프로덕션 코드에서 수행했습니다. –