?? d053.bmp.txt
字號:
,,輔助線程,負責監視串行口
UINT CommProc(LPVOID pParam)
{
OVERLAPPED os;
DWORD dwMask, dwTrans;
COMSTAT ComStat;
DWORD dwErrorFlags;
CTermDoc *pDoc=(CTermDoc*)pParam;
memset(&os,0, sizeof(OVERLAPPED》;
os.hEvent;CreateEvent(NULL, TRUE, FALSE, NULL);
if(os.hEvent==NULL)
{
AfxMessageBox(”無法創建事件對象%
return (UINT)-1;
}
while(pDoc->m_bConnected)
{
ClearCommError(pDoc->m_hCom,&dwErrorFlags,&ComStat);
if(ComStat.cblnQue)
{
,,無限等待WM_COMMNOTIFY消息被處理完
WaitForSingleObj ect(pDoc->m_hPostMsgEvent, INFINITE);
ResetEvent(pDoc->m_hPostMsgEvent);
,,通知視圖,有字符到
PostMessage(pDoc->m__ hTermWnd,WM_COMMNOTIFY,EV. RXCHAR,O);
continue,
}
dwMask=0;
if(! WaitCommEvent(pDoc->m_hCom,&dwMask, &os》,,重疊操作
{
if(GetLastError()-ERROR_IO_PENDING)
,,無限等待重疊操作結果
GetOverlappedResult(pDoc->m_hCoW &os, &dwTrans, TRUE);
else
{
CloseHandle(os.hEvent);
retum (UINT)-1;
)
}
】
CloseHandle(os.hEvent);
retum0:
OnNewDocument成員函數創建3個事件對象:
53
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -