kehuadong

windows C++

#include <Windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
    switch (uMsg) {
    case WM_DESTROY:
        PostQuitMessage(0);
        break;

    default:
        return DefWindowProc(hWnd, uMsg, wParam, lParam);
    }
    return 0;
}

static void _RegisterClass(WNDCLASS &wc) {
    memset(&wc, 0, sizeof(wc));

    wc.hInstance        = GetModuleHandle(NULL);
    wc.lpfnWndProc      = WndProc;
    wc.lpszClassName    = "WindowClass";
    wc.style            = CS_HREDRAW | CS_VREDRAW;
    wc.hbrBackground    = (HBRUSH)(COLOR_WINDOW + 1);
    wc.hIcon            = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor          = LoadCursor(NULL, IDC_ARROW);

    RegisterClass(&wc);
}

int main() {
    WNDCLASS wc;
    _RegisterClass(wc);

    HWND hWnd = CreateWindow(wc.lpszClassName, "Can盒子协议调试", WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 800, 480,
        NULL, NULL, wc.hInstance, NULL);
    ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);

    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

posted on 2022-12-08 05:59  kehuadong  阅读(39)  评论(0编辑  收藏  举报

导航