SetTimer在无窗口的使用注意事项

SetTimer在无窗口的使用注意事项SetTimer 使用在有窗口的情况下 这种情况大家都会使用 其实 SetTimer 也可用在窗口的线程中 但要注意以下几点 1 函数原型 UINT PTRSetTimer HWNDhWnd nbsp 窗口句柄 UINT PTRnIDEvent 定时器 ID 多个定时器时 可以通过该 ID 判断是哪个定时器 UINTnElapse 时间间隔 单

SetTimer使用在有窗口的情况下, 这种情况大家都会使用。 其实SetTimer也可用在窗口的线程中。 但要注意以下几点:

1. 函数原型:

UINT_PTR SetTimer(
HWND hWnd, //  窗口句柄
UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
UINT nElapse, // 时间间隔,单位为毫秒
TIMERPROC lpTimerFunc //  回调函数
);
当 hWnd(窗口句柄) 为NULL时, nIDEvent( 定时器ID)参数也变为无效,系统自动生成一个定时器ID并返回,这时定时器ID 要以返回值为准。所以一般把nIDEvent也设为0.



2. SetTimer需要消息处理来调用你指定的响应函数,所以 如果你的程序中没有消息处理 那就不会调用相关函数。 因没有窗口,所以线程要有自己的处理消息的能力才能成功。如下:

 UINT_PTR uID = ::SetTimer(NULL,0,1000,OnTimerProc); MSG msg; while (GetMessage(&msg, NULL, 0, 0) > 0) //如不想阻塞,可调用PeekMessage函数 { //if (msg.hwnd == NULL && msg.message == WM_TIMER) //该消息就是WM_TIMER消息 // cout << "WM_TIMER"< 
   








版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224318.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午12:12
下一篇 2026年3月17日 下午12:12


相关推荐

  • Button按钮为什么无缘无故会提交form表单?

    Button按钮为什么无缘无故会提交form表单?

    2021年11月8日
    43
  • SPI原理超详细讲解—值得一看

    SPI原理超详细讲解—值得一看什么是 SPISPI 是英语 SerialPeriph 的缩写 顾名思义就是串行外围设备接口 是 Motorola 摩托罗拉 首先在其 MC68HCXX 系列处理器上定义的 SPI 是一种高速的 全双工 同步的通信总线 并且在芯片的管脚上只占用四根线 节约了芯片的管脚 同时为 PCB 的布局上节省空间 提供方便 主要应用在 EEPROM FLASH 实时时钟 AD 转换器 还有数字

    2026年3月19日
    1
  • geth java_geth命令详解

    geth java_geth命令详解geth go ethereum 命令行接口具体命令以下命令为系统级别的操作命令 比如管理账户 导入导出功能 本身并不会启动节点 只是在使用相应的功能 只有 console 命令和 attach 命令会进入 js 交互窗口 account 管理账户 比如添加 list 参数可现实本节点地址列表 attach 启动交互式 JavaScript 环境 连接到节点 此模式在生产环境以后台进程启动是常用 bu

    2026年3月18日
    2
  • 暂时性死区 理解

    暂时性死区 理解let和const声明的变量不存在变量提升,其作用域都是块级作用域,凡是在声明变量之前使用变量就会报错,所以,在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporaldeadzone,简称TDZ)。if(true){//死区开始lzp=’lut’;//ReferenceErrorconsole….

    2022年6月26日
    43
  • 在总线周期的t1,t2,t3,t4状态,cpu_计算机组成原理总线带宽怎么算

    在总线周期的t1,t2,t3,t4状态,cpu_计算机组成原理总线带宽怎么算大家好,我是小黄鸭,又来更新了,应小伙伴的需要,该实验也过了。实验所用的软件资源/测试电路也全部开放,地址在MOOC中国大学为:https://www.icourse163.org/learn/HUST-1205809816#/learn/announce附带实验测试,地址在Educode上为:https://www.educoder.net/shixuns/ckff6yv9/challenges光是给的Excel自生成电路表格就上了7个,再加上密密麻麻的电路图,各自安好吧整体框架该实验

    2022年10月13日
    3
  • nmap命令详解「建议收藏」

    nmap命令详解「建议收藏」nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCPconnect()、TCPSYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(XmasTree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还

    2022年5月8日
    152

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号