我在读取邮槽时,一直找不到怎样触发这样一个消息,一旦邮槽里有数据时,就进行处理数据(100分)

  • 主题发起人 主题发起人 seep
  • 开始时间 开始时间
S

seep

Unregistered / Unconfirmed
GUEST, unregistred user!
我的源代码

BOOL WINAPI CBbDlg::GetMailslot()
{
//ASSERT(Makeslot(HWND hwnd, HDC hdc));
DWORD cbMessage, cMessage, cbRead;
BOOL fResult;
cbMessage = cMessage = cbRead = 0;
//邮槽句柄hSlot1是一个全局变量
fResult = GetMailslotInfo(hSlot1,// 邮槽句柄  
(LPDWORD) NULL,// 对消息的大小没有最大限制
&cbMessage,// 下一条消息的大小
&cMessage,// 消息的数量
(LPDWORD) NULL);
if(cbMessage == MAILSLOT_NO_MESSAGE)
// 邮槽内无消息
{
return FALSE;
}
fResult = ReadFile(
hSlot1,
lpszBuffer,
cbMessage,
&cbRead,
(LPOVERLAPPED) NULL);
if(fResult == FALSE)
{return FALSE;}
else
{return TRUE;}
}
 
后退
顶部