次のようなスレッドがあります。
DWORD WINAPI message_loop_thread(LPVOID dummy) {
MSG message;
while (GetMessage(&message, NULL, 0, 0)) {
TranslateMessage(&message);
DispatchMessage(&message);
}
}
そして、私はそれを始めますCreateThread
:
DWORD thread_id;
CreateThread(0, 0, message_loop_thread, 0, 0, &thread_id);
これは機能しているようですが、どうすればこのスレッドを正しく閉じることができますか? 通常、スレッドは待機してGetMessage
いるため、スレッドはブロックされていると思います。
これを行う良い方法はありますか?試してみTerminateThread
ましたが、これはハングします。スレッドを停止するのは良い解決策ではないと思います。
誰かがアイデアを持っていますか?
よろしくベンジ・マイヤー