发布消息(Posting a Message)

发布消息(Posting a Message)
    你可以利用PostMessage函数把一个消息发布到一个消息队列。PostMessage函数把一个消息放到一个线程消息队列的末端,然后会立即返回,而不用等待线程处理完这个消息。这个函数的参数包括一个窗口句柄,一个消息标识符,和两个消息参数。系统会把这些参数复制到一个MSG结构中,填充结构的time和pt成员变量,并把这个结构发到消息队列中。
    系统利用窗口句柄传递给PostMessage函数来决定哪个线程消息队列应该接收这个消息。如果句柄是HWND_TOPMOST,系统会把消息发布到所有高级别窗口的线程消息队列中。
    你可以用PostThreadMessage函数把消息发布到一个指定线程消息队列。PostThreadMessage类似于PostMessage函数,除了这个函数的第一个参数是一个线程标识符而不是窗口句柄。你可以通过调用GetCurrentThreadIdea函数来获取线程标识符。
    利用PostQuitMessage函数可以退出消息循环。PostQuitMessage函数发布一个WM_QUIT消息到当前执行线程。当这个线程遇到WM_QUIT消息时,这个线程会消息循环结束并把控制返回给系统。一个应用程序通常调用PostQuitMessage函数来响应WM_DESTROY消息,就像下面的例子显示的:


case WM_DESTROY: 
 
    // Perform cleanup tasks. 
 
    PostQuitMessage(0); 
    break; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值