// Function: static UINT __stdcall CQQCDlg::WorkThreadProc(LPVOID lpparameter)
// Description:handle all of the message which GetMessageQueue get.
// In Arguments: thread parameter
// Out Arguments : none
// Returns:0:success
// 1:failed
UINT __stdcall CQQCDlg::WorkThreadProc(LPVOID lpparameter)
{
TYPE_PACKET imsg;
int i;
imsg.cmd_type = -1;
while ( 0 != GetMessageQueue(imsg) )
{
for ( i = 0; i < DIM(CQQCDlg::message_entries); ++i )
{
if ( imsg.cmd_type == CQQCDlg::message_entries[i].nmessage )
{
CQQCDlg::message_entries[i].pfn(NULL,imsg,NULL,NULL);
}
}
// 如果发现消息队列为空,则置线程为睡眠状态,此时让出CPU,释放系统资源
if ( -1 == imsg.cmd_type )
{
Sleep(1000);
}
}
return 0;
}
// Description:handle all of the message which GetMessageQueue get.
// In Arguments: thread parameter
// Out Arguments : none
// Returns:0:success
// 1:failed
UINT __stdcall CQQCDlg::WorkThreadProc(LPVOID lpparameter)
{
TYPE_PACKET imsg;
int i;
imsg.cmd_type = -1;
while ( 0 != GetMessageQueue(imsg) )
{
for ( i = 0; i < DIM(CQQCDlg::message_entries); ++i )
{
if ( imsg.cmd_type == CQQCDlg::message_entries[i].nmessage )
{
CQQCDlg::message_entries[i].pfn(NULL,imsg,NULL,NULL);
}
}
// 如果发现消息队列为空,则置线程为睡眠状态,此时让出CPU,释放系统资源
if ( -1 == imsg.cmd_type )
{
Sleep(1000);
}
}
return 0;
}