我一直在研究一个程序来记录多个项目的时间。我一直在使用 WM_TIMER,最近注意到它正在运行
太慢了。所以我一直在尝试让多媒体计时器工作。
问题是它会部分显示一些窗口,在我的所有者绘制的控件所在的位置留下透明的矩形。在
同时,我得到一个错误:程序已经停止工作。
从我在网上找到的例子来看,几乎发生了同样的事情。
在全球范围内,我有这个变量:
PHANDLE ptrTimerHandle;
MSDN,如果我没看错的话,说你可以重命名回调函数。
VOID CALLBACK TimerCallback(PVOID lpParameter, BOOLEAN TimerOrWaitFired);
这是我尝试在 WinMain 中设置计时器的方法(持续 500 毫秒直到它开始,并且每 200 毫秒滴答一次):
CreateTimerQueueTimer(ptrTimerHandle, NULL, TimerCallback, 0, 500, 200, WT_EXECUTEDEFAULT | WT_EXECUTEINTIMERTHREAD);
然后这个函数是空的,但我做了测试,没有任何东西发送给它。
VOID CALLBACK TimerCallback(PVOID lpParameter, BOOLEAN TimerOrWaitFired) {}
在尝试执行此操作之前,我从 MSDN 复制并粘贴了一个我也无法开始工作的示例。和上面一样的问题。
我已经包含了正确的库,并包含了正确的文件,并且编译得非常好。
谢谢你的时间。