在win32控制台应用程序中用SetTimer实现定时器的问题。
class A
{
public:
void static CALLBACK TimeProc(
HWND hwnd,
UINT message,
UINT idTimer,
DWORD dwTime);
};
int main()
{
SetTimer(NULL,1,1000,A::TimeProc);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
if(msg.message==WM_TIMER)
{
DispatchMessage(&msg);
}
}
return 0;
}
void CALLBACK A::TimeProc(
HWND hwnd,
UINT message,
UINT idTimer,
DWORD dwTime)
{
cout<<"触发定时器!"<<endl;
}
这是在网上找到的一段win32控制台应用程序实现计时器的代码,代码可以实现。隔一秒输出一次"触发定时器!"
但现在的问题是我想在该函数中实现判断条件,就像mfc中用OnTimer一样,可以
switch (条件)
{
case 1:
cout << "aaa" << endl;
break;
case 2:
cout << "bbb" << endl;
break;
}
但貌似定义的回调中无论UINT message还是 UINT idTimer都不能够当成条件,也就是说我 SetTimer(NULL,1,1000,A::TimeProc);中的第二个参数根本不起作用,根本当不了判断条件。请问应该怎么修改?!!
...全文
相关推荐
vc++2005定时器settimer()的使用
,timerId为SetTimer返回的ID```需要注意的是,`WM_TIMER`消息通常在消息队列中处理,这意味着如果应用程序忙于其他任务,定时器可能会被延迟触发。
VC++ 定时器 实验助手
在VC++中,我们可以创建一个Win32控制台项目或者MFC(Microsoft Foundation Classes)应用程序来实现定时器功能。
完整的VC++三叶旋转风车(win32APP)
win32控制台"则暗示了这是一个控制台应用程序,虽然通常Win32 API用于创建窗口应用程序,但这里可能是在控制台环境中展示了风车的动画效果。
win32 sdk贪吃蛇源码
Win32 SDK为开发者提供了编写Windows应用程序所需的头文件、库文件和开发工具,主要用于创建原生的32位Windows程序。在这个项目中,游戏“贪吃蛇”被实现为一个控制台或窗口应用程序。
Win32 Programmer's Reference
**定时器**:SetTimer和KillTimer用于设置和删除定时器,响应定时器事件。


