안녕하세요.. 다름이아니라.
다음과 같이 WinApi인 CreateThread를 사용하여 쓰레드를 생성하였습니다.
hThread := CreateThread(nil, 0, @GetEventDataThread, nil,0,ThreadID);
생성은 잘 되었는데..
생성된 쓰레드를 종료하기 위해 다음과 같이 하였는데...
GetExitCodeThread(hThread,m_dExitCode);
ExitThread(m_dExitCode);
제가 원하는 데로 쓰레드가 종료되지 않습니다. 현상을 말씀드리면.. 쓰레드를 갖고 있던 애플리케이션이 종료가 되었고, ctrl-alt-del을 눌러 보니 여전히 애플리케이션 프로세스는 떠 있었습니다. 그래서 강제 종료를 시켜야만 했습니다.
그래서 이럴 경우 해당 애플리케이션에서 만든 쓰레드만 종료 시키려면 어떻게 해야하는 지 알고 싶습니다.
고수님들의 답변 기다리겠습니다.
> 안녕하세요.. 다름이아니라.
>
> 다음과 같이 WinApi인 CreateThread를 사용하여 쓰레드를 생성하였습니다.
>
> hThread := CreateThread(nil, 0, @GetEventDataThread, nil,0,ThreadID);
>
> 생성은 잘 되었는데..
>
> 생성된 쓰레드를 종료하기 위해 다음과 같이 하였는데...
>
> GetExitCodeThread(hThread,m_dExitCode);
> ExitThread(m_dExitCode);
>
> 제가 원하는 데로 쓰레드가 종료되지 않습니다. 현상을 말씀드리면.. 쓰레드를 갖고 있던 애플리케이션이 종료가 되었고, ctrl-alt-del을 눌러 보니 여전히 애플리케이션 프로세스는 떠 있었습니다. 그래서 강제 종료를 시켜야만 했습니다.
>
> 그래서 이럴 경우 해당 애플리케이션에서 만든 쓰레드만 종료 시키려면 어떻게 해야하는 지 알고 싶습니다.
>
> 고수님들의 답변 기다리겠습니다.
>
>
>
>
>
GetExitCodeThread(hThread,m_dExitCode);
TerminateThread(hThread,m_dExitCode);
하시면 될 껍니다...