为什么我收不到消息?
本人有从c++程序如下:
main()
{
mycom com1;
MSG Msg;
com1.initcomport("COM1",
::GetCurrentThreadId(),
9600,
8,
ONESTOPBIT,
NOPARITY,
0);
while(GetMessage(&Msg,NULL,0,0))
{
printf("receive string is %s\n",com1.szReceived);
}
return 0;
}
class mycom
{
public:
...
public:
mycom();
BOOL initcomport(char* szComPort,DWORD ComRecvThdId,DWORD BaudRate,BYTE ByteSize,BYTE StopBits,BYTE Parity,DWORD fBinary);
virtual ~mycom();
private:
DWORD MsgRecvThreadId;
...
friend DWORD WINAPI CommWatchProc(LPVOID pParam1);
};
BOOL mycom::initcomport(char* szComPort,DWORD ComRecvThdId,DWORD BaudRate,BYTE ByteSize,BYTE StopBits,BYTE Parity,DWORD fBinary) // initial the serial port
{
...
this->MsgRecvThreadId = ComRecvThdId;
hCommWatchThread=CreateThread(NULL,0,CommWatchProc,this,0,NULL);
...
return TRUE;
}
DWORD WINAPI CommWatchProc(LPVOID lpdata)
{
...
k = PostThreadMessage( lpCommSet->MsgRecvThreadId,
WM_USER+100,
wparam,
lparam);
...
return TRUE;
}