Windows Mobile 6.5 -- 在对话框空闲时调用函数?WM_KICKIDLE

Windows Mobile 6.5 -- Call a function when a dialog box is idle? a la WM_KICKIDLE

本文关键字:函数 调用 WM KICKIDLE Mobile 对话框 Windows      更新时间:2023-10-16

我正在开发一个Windows Mobile 6.5应用程序,该应用程序具有一个对话框,该对话框显示来自相机的输入,并具有用于保存流快照的按钮。相机 API 建议通过 Windows 消息循环调用在应用程序空闲时更新流视图的函数,但不会比这更具体。经过大量的谷歌搜索,我仍然找不到任何有用的东西来实际实现这样的东西。

有谁知道如何做到这一点?

你必须

实现一个消息循环,不使用传统的GetMessage,直到消息存在于线程的消息队列[1]之前阻塞,而是使用PeekMessage,如果不存在消息,则返回false[1]。

如果它返回 false,则执行空闲处理。请注意,应将空闲处理划分为足够小的块,以便消息循环不会导致对应用无响应。

这也是在 1 个 CPU 或 1 个内核上进行线程处理的经典替代方案。

[1] 或应合成(绘画或计时器)