PeekMessage的用法

来源:互联网 发布:fifa数据库 编辑:程序博客网 时间:2024/06/05 01:30

       PeekMessage的确有“让其他线程向此线程SendMessage过来不阻塞的功效”。 默认情况下,每一个消息被返回到应用程序后,PeekMessage和 GetMessage都会把消息和事件从系统队列中删除。然而有些时候,某个应用程序可能需要扫描队列中现存的消息而并不删除它们。例如,某个应用程序在做一些处理过程,这些处理过程期望“一但发现有可用的消息,就尽快终止”。 这里指定PM_NOREMOVE,是指查看过后不移走消息队列中刚刚被查看到的消息,也就是说这里的PeekMessage只起到一个检测作用 如果必须实时响应windows,则必须如下写,你可以做个测试. for (;;) { //其他代码 ... MSG msg; if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } Sleep(100); }

原创粉丝点击