// thread.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <afxwin.h>
//#include "afxcmn.h"
unsigned int __stdcall ThreadProc_Chipset(LPVOID lpParameter)
{
printf("this is Thead");
system("pause");
return 0;
}
void DoEvent()
{
MSG msg;
if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))//取消息,检索应用程序的消息队列, PM_REMOVE取过之后从消息队列中移除
{
//发消息
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
void TheadWait(HANDLE m_hThread)
{
//HANDLE DoEvent();//线程事件
/等待线程完成函数///
DWORD dwRet;
DoEvent();
do
{
dwRet = MsgWaitForMultipleObjects(1, &m_hThread, FALSE, INFINITE, QS_ALLINPUT);
if (dwRet != WAIT_OBJECT_0)
{
DoEvent();
}
} while ((dwRet != WAIT_OBJECT_0) && (dwRet != WAIT_FAILED));
}
int main()
{
HANDLE m_hThread_Chipset = (HANDLE)_beginthreadex(NULL, 0, ThreadProc_Chipset, NULL, 0, NULL);
TheadWait(m_hThread_Chipset);
printf("ok");
return 0;
}