怎么样在一个main为入口的win32程序里开定时器?就是没有窗口句柄的情况下。 怎么样在一个main为入口的win32程序里开定时器?就是没有窗口句柄的情况下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 UINT_PTR SetTimer( HWND hWnd, // handle to window UINT_PTR nIDEvent, // timer identifier UINT uElapse, // time-out value TIMERPROC lpTimerFunc // timer procedure);用回调函数TIMERPROC lpTimerFunc 楼上说的,hWnd ->NULL返回值作为该计时器的标识 在没有窗口句柄的情况下 SetTimer是不可能成功的 第一个参数设置为NULL只能说明该Timer用的时候主窗口的 可以没有窗口,但是不能没有消息循环,我曾经在服务中使用过SetTimer。 可以使用带回调函数的SetTimer函数 ////////////////////////////////////////////////////////////////////////定时器函数:当语音记录仪一直没有相应时void CALLBACK WaitForSoundDevProc(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime){ CPlay* pDM=static_cast<CPlay*>(pPlay); if(!g_bIsHandShake) { if(IDYES==MessageBox( g_hMsgWnd,"语音记录仪没有响应,是否继续重演?","提示",MB_ICONINFORMATION|MB_YESNO)) { pDM->Begin(); } } KillTimer(hwnd,idTimer); return;} SetTimer(NULL,1,10000,(TIMERPROC)WaitForSoundDevProc); 大家的程序不知道在以CallBack(){}int main(){SetTimer(0,1,1000,CallBack);Sleep(100000);}根本就没有触发回调。 MFC对话框实现拖拉产生的灰色框 我有一个建议 软件创意可以得到保护? 求源代码~~~~~~~~~~ 请问CSocket 用什么函数在去收数据前偷窥一下有多少数据需要接受? 剧难的问题.不识游泳都,勿试水. msdn的郁闷 classView出问题了! 有替大型网站开发后台程序的高手请进!!! vs里的句柄是什么意思 哪位高手使用过TAPI过来帮助一下! 请教:怎样获得当前VC编译器的版本?
HWND hWnd, // handle to window
UINT_PTR nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // timer procedure
);
用回调函数TIMERPROC lpTimerFunc
hWnd ->NULL返回值作为该计时器的标识
//定时器函数:当语音记录仪一直没有相应时
void CALLBACK WaitForSoundDevProc(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime)
{
CPlay* pDM=static_cast<CPlay*>(pPlay);
if(!g_bIsHandShake)
{
if(IDYES==MessageBox( g_hMsgWnd,"语音记录仪没有响应,是否继续重演?","提示",MB_ICONINFORMATION|MB_YESNO))
{
pDM->Begin();
}
} KillTimer(hwnd,idTimer);
return;
}
SetTimer(NULL,1,10000,(TIMERPROC)WaitForSoundDevProc);
CallBack()
{
}
int main()
{
SetTimer(0,1,1000,CallBack);
Sleep(100000);
}
根本就没有触发回调。