我的程序到定时器的回调函数不执行了,请高手帮我看看!
void CALLBACK internalTimerProc(UINT id,UINT msg,DWORD dwUser,DWORD dw1,DWORD dw2)
{
AfxGetMainWnd()->PostMessage(WM_USER_BEGIN,0,0);程序执行到这不执行OnBegin(....),在头文件中,消息映射中定义了WM_USER_BEGIN与OnBegin(....)的关系。
}
UINT CThreadProc(LPVOID pParm)
{
TIMECAPS timecaps;
int TimerResolution;
if (timeGetDevCaps(&timecaps,sizeof(TIMECAPS))==TIMERR_NOERROR)
{
TimerAccuracy=Min(Max(timecaps.wPeriodMin,Accuracy),timecaps.wPeriodMax);
}
timeBeginPeriod(TimerAccuracy);
TimerResolution=1;
TimerID =timeSetEvent( TimerResolution,TimerAccuracy,
internalTimerProc,1,TIME_PERIODIC);
return 0;
}
void CTestDlg::OnValueChangedStart(BOOL Value)
{
// TODO: Add your control notification handler code here
if(Value)
{
CWinThread* pThread=AfxBeginThread(CThreadProc,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
LRESULT CTestDlg::OnBegin(WPARAM wParam,LPARAM lParam)
{
....
}