Мне нужен таймер потока для плагина. Код выполняется хорошо. Проблема в том, что при закрытии плагин должен закрыть созданный поток.
Когда поток закрывается, закрывается вся программа. Как я могу закрыть безопасный плагин, не закрывая всю родительскую программу.
class MYCLASS {
public:
.............
static DWORD WINAPI threadProc(LPVOID innerThread) {
MYCLASS *pThis = reinterpret_cast<MYCLASS*>(innerThread);
if (pThis->process_on) {
// EXECUTE
}
Sleep(100);
}
exit(0);
}
MYCLASS::OnClose();
.............
private:
bool process_on;
HANDLE hThread; DWORD ThreadID;
.............
hThread=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)threadProc, (void*)this, 0, &ThreadID);
..............
void MYCLASS::OnClose() {
thread_process=false;
DWORD dwExitCode;
GetExitCodeThread(hThread, &dwExitCode);
ExitThread(dwExitCode);
}