gpt4 book ai didi

c++ - WindowProc 调用时序

转载 作者:行者123 更新时间:2023-11-28 06:03:11 26 4
gpt4 key购买 nike

我是 win32 消息的新手。我想知道当 WindowProc 正在处理一条消息时,是否有可能被中断以处理另一条消息?以下面的例子为例,如果 [A] 和 [B] 都被执行,WindowProc 是否有可能被中断以处理新的 WM_ACTIVATE 和/或 WM_ACTIVATEAPP 消息(作为 ShowWindow 调用的结果)在 [A] 和[乙]?如果这是可能的,是否有任何特定情况可以做到这一点?

LRESULT CALLBACK WindowProc(
_In_ HWND hwnd,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
{
...
case WM_ACTIVATEAPP:

if (wParam == FALSE)
{
// [A] Do something that would trigger a WM_ACTIVATE or WM_ACTIVATEAPP message to be queued to the message queue
ShowWindow(hwnd, SW_MINIMIZE);

// [B] Modify Window Styles
SetWindowLong(hwnd, GWL_EXSTYLE, WS_EX_CLIENTEDGE);
}

break;
...
}

感谢任何评论!

最佳答案

没有。这就是 GUI 线程 的意义所在 - 它是一个线程,一次只做一件事。如果您正在处理消息,则不会调用 GetMessage

关于c++ - WindowProc 调用时序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com