|
제가 답변해도 임프님이 좀더 자세히 답변해주시겠죠...
잘은 몰라도 CreateProcess로 만든 Process를 죽이시려면..
이방법을 써보셔요..
.........
.........
//hProcess는 현재 CreateProcess호출로인해 생성된 Process Handle;
if (hProcess) {
DWORD exitcode = 0;
GetExitCodeProcess(hProcess, &exitcode);
TerminateProcess(hProcess, 0);
}
그럼 더자세한 답변은 임프님께서~~...
그럼 즐거운 하루 되십시요...
심기준 님이 쓰신 글 :
: 안녕하세요..
:
: 두개 프로그램을 선택해서 실행시켜주는 프로그램을 만들려고 합니다.
:
: 하나의 메인 화면이 뜨고 거기에서 선택되는 버튼에 따라 2개중의 한 프로그램이 실행됩니다.
:
: 자료를 찾다가 이 홈페이지의 팁앤트릭에서
: CreateProcess()부분 소스를 가져가서 제 나름대로 고쳐서 사용했습니다.
:
: 전에는 WinExec()함수를 사용했었는데,
: 같은 프로그램을 2개이상 띄우지 않기 위해
: 현재 이 프로그램이 실행중인지를 확인하는 부분을 위해서
: CreateProcess()를 썼습니다.
:
: WinExec()를 쓸때는
:
: SendMessage(프로그램1의 핸들값, WM_CLOSE,0,0L);
: SendMessage(프로그램2의 핸들값, WM_CLOSE,0,0L);
:
: 을 이용해서 실행시킨 프로그램을 종료시킬 수 있었습니다.
:
: 그런데 CreateProcess()로 프로그램을 실행한 후에는 위의 부분이 먹혀들지 않습니다.
: 실행시킨 프로그램이 종료가 안됩니다.
:
: PROCESS_INFORMATION pinfo1, pinfo2;
:
: pinfo1.hProcess
: pinfo2.hProcess //이렇게 선언을 해주고
: .
: .
: .
:
: SendMessage(pinfo1.hProcess, WM_CLOSE,0,0L); //이렇게 핸들값을 넣어주었습니다.
: SendMessage(pinfo2.hProcess, WM_CLOSE,0,0L);
:
: 설명이 제대로 됐는지 모르겠군요...
: 그럼 답변을 애타게 기다리겠습니다.
|