不响应OnTimer函数,请求帮助
代码如下:
BEGIN_MESSAGE_MAP(CBandwidthDlg, CDialog)
//{{AFX_MSG_MAP(CBandwidthDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BTN_SHOW, OnBtnShow)
ON_BN_CLICKED(IDC_BTN_SEND, OnBtnSend)
ON_BN_CLICKED(IDC_BTN_RESET, OnBtnReset)
ON_WM_TIMER()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_RECVDATA,OnRecvData)
END_MESSAGE_MAP()
BOOL CBandwidthDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
.......
srand((unsigned)time(NULL));
m_iTmCounter = 0;
m_bIsStart = FALSE;
m_bIsover = FALSE;
m_iRndForSend = rand()%100;
InitSocket();
RECVPARAM *pRecvParam=new RECVPARAM;
pRecvParam->sock=m_socket;
pRecvParam->hwnd=m_hWnd;
HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
CloseHandle(hThread);
SetTimer(1,1000,NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CBandwidthDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (m_bIsStart)
{
m_iTmCounter++;
m_iTmCounter %=TIMESPAN;
}
else return;
if (m_iTmCounter == m_iRndForSend)
{
// SendToMainAgt();
Send();
}
if (m_iTmCounter == 0)
{
m_iRndForSend = rand()%100;
}
CDialog::OnTimer(nIDEvent);
}
运行时一秒后对话框自动就消失了,调试运行发现程序根本就没有响应OnTimer()函数,执行到SetTimer()后就没了,请问是什么原因?谢谢