在Win32 C++应用程序中,我们启动一个消息循环,该循环从队列中获取消息,将其翻译并进行分发。最终,每条消息都会到达我们的WndProc,以便处理相关事件。
我理解这部分内容。我不理解的是其间的过程,具体来说:
1. 不同类型的OS中断处理程序必须将消息放置在所述的“消息队列”中,但是该队列在进程地址空间的哪个位置?它如何向中断处理程序代码公开?
2. “翻译”消息是什么意思?调用TranslateMessage()实际上是做什么?
3. 一旦通过DispatchMessage()分派,消息在到达我的WndProc之前经过哪些地方(即,操作系统对它执行了哪些操作)?
如果有人知道以上问题的答案,请满足一下我的好奇心。谢谢。
我理解这部分内容。我不理解的是其间的过程,具体来说:
1. 不同类型的OS中断处理程序必须将消息放置在所述的“消息队列”中,但是该队列在进程地址空间的哪个位置?它如何向中断处理程序代码公开?
2. “翻译”消息是什么意思?调用TranslateMessage()实际上是做什么?
3. 一旦通过DispatchMessage()分派,消息在到达我的WndProc之前经过哪些地方(即,操作系统对它执行了哪些操作)?
如果有人知道以上问题的答案,请满足一下我的好奇心。谢谢。