社区
进程/线程/DLL
帖子详情
SetTimer 句柄为NULL,回调函数的线程环境是那个?
天限天空
2008-05-09 11:12:48
rt
...全文
165
4
打赏
收藏
SetTimer 句柄为NULL,回调函数的线程环境是那个?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnzdgs
2008-05-09
打赏
举报
回复
原来是送分的,点名送多好,我就不跟着参和了。
cnzdgs
2008-05-09
打赏
举报
回复
回调函数与执行SetTimer的是同一线程,当设置了回调函数时,是在线程调用GetMessage或者PeekMessage的时候调用会调函数的,如果线程没有取消息,则回调函数永远不会执行。另外,你可以试一下,在回调函数中调用GetCurrentThreadId或者ExitThread,就可以知道是同一线程了。
healer_kx
2008-05-09
打赏
举报
回复
SetTimer的那个线程。
healer_kx
2008-05-09
打赏
举报
回复
接分。。。
我就是那个歌德。。。
线程
内使用
Set
Timer
实现定时器
线程
内使用
Set
Timer
实现定时器 代码中MyThread
Timer
时
线程
定时器的实现
VC
Set
Timer
下面的代码实现每1/10秒在屏幕上输出字符'a',在vc6与vs2008下调试通过。在vc6下直接可以运行,05或08下按照注释的地方改下就可以了
在同一个
线程
中应用
Set
Timer
来完成定时任务
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/kbuv6 在Windows编程中,定时器是实现程序自动化控制和时间间隔触发事件的重要工具。`
Set
Timer
`函数是Windows API提供的一种简单、高效的定时器接口,它主要用于在消息循环中设置一个定时器,当达到预设的时间间隔后,系统会向指定的窗口发送一个`WM_
TIMER
`消息。本篇将详细讲解如何在
线程
内部使用`
Set
Timer
`来实现定时器,以及`MyThread
Timer
`的实现方式。理解`
Set
Timer
`函数的基本用法。`
Set
Timer
`的原型如下:```cppUINT_PTR
Set
Timer
( _In_opt_ HWND hWnd, _In_ UINT nIDEvent, _In_ UINT uElapse, _In_opt_
TIMER
PROC lp
Timer
Func);```- `hWnd`:指向接收`WM_
TIMER
`消息的窗口
句柄
。如果不需要处理`WM_
TIMER
`消息,可以传入
NULL
。- `nIDEvent`:定时器的唯一标识符,用于区分不同的定时器。- `uElapse`:定时器的间隔时间,以毫秒为单位。- `lp
Timer
Func`:定时器
回调函数
指针,当定时器触发时,系统调用此函数。在
线程
内部使用`
Set
Timer
`时,需要注意几点:1. 如果
线程
有自己的消息循环,那么`
Set
Timer
`会将`WM_
TIMER
`消息发送到该
线程
的消息队列,否则需要手动处理`WM_
TIMER
`消息。2.
线程
必须有一个消息循环来处理`WM_
TIMER
`消息,因为`
Set
Timer
`依赖于消息泵来触发事件。3. 如果
线程
没有窗口(例如,服务
线程
),则需要自定义消息处理机制,而不是使用`
Set
Timer
`的默认窗口消息处理。`MyThread
Timer
`的实现可能包括以下几个
vc++2005定时器
set
timer
()的使用
vc++2005定时器
set
timer
()的使用 查了一些资料,写了个简单的程序
VC++ MFC 定时器函数 刷新窗口
这个是VC定时器
Set
Timer
函数,主要做的事情是循环,和刷新MFC对话框
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章