91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Windows api怎么獲取窗口關閉的消息

小億
114
2023-11-15 19:39:15
欄目: 智能運維

要獲取窗口關閉的消息,可以使用Windows API中的消息循環和消息處理機制。

首先,需要使用主消息循環函數GetMessage來獲取消息。然后,在消息處理函數WndProc中處理窗口關閉的消息。

下面是一個簡單的示例代碼:

#include <windows.h>

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
        case WM_CLOSE:
            // 在這里處理窗口關閉的消息
            MessageBox(NULL, "窗口將要關閉", "提示", MB_OK);
            DestroyWindow(hwnd);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // 注冊窗口類
    WNDCLASS wc = {0};
    wc.lpfnWndProc = WndProc;
    wc.hInstance = hInstance;
    wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND);
    wc.lpszClassName = "MyWindowClass";
    RegisterClass(&wc);

    // 創建窗口
    HWND hwnd = CreateWindow("MyWindowClass", "My Window", WS_OVERLAPPEDWINDOW, 100, 100, 500, 500,
                             NULL, NULL, hInstance, NULL);

    // 顯示窗口
    ShowWindow(hwnd, nCmdShow);

    // 消息循環
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return msg.wParam;
}

在上面的示例代碼中,通過在WndProc函數中處理WM_CLOSE消息來獲取窗口關閉的消息。當收到該消息時,會彈出一個提示框,然后銷毀窗口。

注意,這只是一個簡單的示例,實際使用時,可能需要根據具體的需求進行相應的處理。

0
河池市| 田林县| 岑溪市| 台江县| 敖汉旗| 敦煌市| 原阳县| 高平市| 剑河县| 兰西县| 威信县| 庄河市| 陆河县| 沧源| 蛟河市| 易门县| 山西省| 大英县| 吉木乃县| 沈阳市| 鹿邑县| 蒙山县| 贡嘎县| 洛川县| 罗城| 特克斯县| 陵川县| 平山县| 屯留县| 山西省| 吐鲁番市| 洞头县| 苏尼特右旗| 临西县| 兰坪| 怀化市| 寿阳县| 开远市| 乳山市| 靖远县| 佛冈县|