下面写的代码,每次使用postthreadmessage后,都没有成功传递消息,会输出error,不知道有什么错误。#define WM_BEGIN (WM_USER+100)
DWORD WINAPI ThreadFunc(LPVOID);
int main()
{
HANDLE hThrd;
DWORD threadId;
int post;
hThrd=CreateThread(NULL,
0,
ThreadFunc,
(LPVOID)1,
0,
&threadId);
if(hThrd)
{
printf("Thread launched 1\n");
} post=PostThreadMessage(threadId,WM_BEGIN,0,0);
if (post==0)
{
printf("error\n");
} Sleep(2000);
return EXIT_SUCCESS;
}DWORD WINAPI ThreadFunc(LPVOID n)
{
MSG msg;
while(1)
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if(msg.message==WM_BEGIN)
printf("BEGIN\n");
break;
}
return 0;
}
DWORD WINAPI ThreadFunc(LPVOID);
int main()
{
HANDLE hThrd;
DWORD threadId;
int post;
hThrd=CreateThread(NULL,
0,
ThreadFunc,
(LPVOID)1,
0,
&threadId);
if(hThrd)
{
printf("Thread launched 1\n");
} post=PostThreadMessage(threadId,WM_BEGIN,0,0);
if (post==0)
{
printf("error\n");
} Sleep(2000);
return EXIT_SUCCESS;
}DWORD WINAPI ThreadFunc(LPVOID n)
{
MSG msg;
while(1)
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if(msg.message==WM_BEGIN)
printf("BEGIN\n");
break;
}
return 0;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货