2011-03-27 5 views
0

ProcessName.Start()을 사용하여 작업을 완료하는 외부 프로세스를 사용하는 프로그램이 있는데 문제는 Windows가 종료 될 때 응용 프로그램이 종료되는 동안 프로세스를 시작하면 프로세스를 시작하기 전에 종료된다는 것을 알고 싶다는 것입니다. 다운 창에 프로세스가 올바르게 시작할 수 없다는 메시지가 표시됩니다 (ERROR CODE 0xc0000142).컴퓨터를 종료 할 때 프로세스를 취소하는 방법?

주 응용 프로그램은 알림 아이콘이있는 C# Windows Forms 응용 프로그램이며 외부 프로세스는 오래된 C로 작성된 네이티브 콘솔 응용 프로그램입니다 (그리고 그것은 좋은 이유입니다).

SessionEnding과 같은 시스템 이벤트를 사용하고 Windows 메시지를 처리하기 위해 WndProc를 재정의했지만 성공하지 못하면 응용 프로그램이 이러한 이벤트와 메시지를 다소 늦게 받고 응용 프로그램이 프로세스를 시작하고 오류 메시지가 표시됩니다.

나는 누군가가 나를 도울 수 있기를 바랍니다.

Thnx

답변

0

그것의 작업을 완료의 SessionEnding 이벤트를 수신 보조 프로세스가 이미 시작된 경우 이벤트를 취소 한 다음 종료를하거나 차 처리 후 로그 오프 할 수 있을까?

thread은 C#에서 컴퓨터를 종료하는 다양한 방법을 설명합니다.

+0

응답을 위해 Thnx. 하지만 내 문제는 시스템이 종료 프로세스를 지연시키지 않고 종료 할 때 프로세스 호출을 취소하고 싶다는 것이다. –

0

DLL을 만들어 외부 프로세스 대신 호출하여 문제를 해결했지만 이전에 만들려고했지만 몇 가지 문제가있어서 다시 시도해 보았습니다.

관련 문제