PostThreadMessage失败,GetLastError返回6。该如何解决

PostThreadMessage失败,GetLastError返回6。
问题如题。由于公司代码不能拿出来 ,代码也不能贴出来,请原谅!这种情况下返回6是有什么可能的原因啊?
------解决思路----------------------
ErrLook 6 句柄无效,意思是因为HWND窗口句柄不存在。

但你用的是PostThreadMessage,用到的是thread identifier,不是句柄。
MSDN: returns ERROR_INVALID_THREAD_ID if idThread is not a valid thread identifier, or if the thread specified by idThread does not have a message queue.

#define ERROR_INVALID_THREAD_ID          1444L


所以不知道LZ的ErrLook 6到底怎么来的。
------解决思路----------------------
处理线程初始化加入代码,可以尽快创建线程的消息队列:

// 1. 创建消息队列
MSG msg;
PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE);

------解决思路----------------------
创建线程时候,传递一个参数,其中放置一个事件,表示线程已经运行。
线程退出前通知主线程,停止发送消息消息处理完成退出。
创建的代码检测这个事件然后退出,这是可以开始 PostMessage