在Visual Studio 2019中创建了一个窗口,但是我找不到该窗口出现的位置(如果有的话)

时间:2019-05-04 19:47:58

标签: c++ visual-c++ visual-studio-2019

我想我已经在Visual Studio中创建了一个窗口,但是当我运行代码时,找不到该窗口。我不知道这是因为未创建窗口还是仅仅是因为找不到窗口。

我是Visual Studio的新手,所以我观看了视频,ChiliTomatoNoodle's on YT,,该视频显示了如何创建窗口。我尝试在任务管理器中查找,但是找不到窗口。

我意识到我不应该粘贴整个文件,但是我不知道我在做什么,所以我无法将问题隔离到代码中的某个区域。

#include <Windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) 
{
    switch (msg)
    {
    case WM_CLOSE:
        PostQuitMessage(69);
        break;
    }
    return DefWindowProc(hWnd, msg, wParam, lParam);
}

int CALLBACK WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)

{
    const auto pClassName = "hw3d";
    //register window class
    WNDCLASSEX wc = { 0 };
    wc.cbSize = sizeof(wc);
    wc.style = CS_OWNDC;
    wc.lpfnWndProc = DefWindowProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = NULL; //NULL and nullptr are the same
    wc.hCursor = NULL;
    wc.hbrBackground = NULL;
    wc.lpszMenuName = NULL;
    wc.lpszMenuName = pClassName;
    wc.hIconSm = NULL;
    RegisterClassEx(&wc);

    //create window instance
    HWND hWnd = CreateWindowEx(
        0, pClassName,
        "Hardware 3D Window",
        WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU,
        200, 200, 640, 480,
        NULL, NULL, hInstance, NULL
    );
    //show the window
    ShowWindow(hWnd, SW_SHOW);

    //message pump
    MSG msg;
    BOOL gResult;
    while ((gResult = GetMessage(&msg, NULL, 0, 0)) > 0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    if (gResult == -1)
    {
        return -1;
    }
    else
    {
        return msg.wParam;
    }
}

我的期望(从观看视频开始)是,当我运行代码时,将出现一个窗口,然后当我关闭窗口时,代码将停止运行。当我运行代码时,没有窗口出现,但是直到点击“停止调试”按钮,代码才会结束,因此至少while循环起作用了。除此之外,我不知道代码是否错误,设置是否错误,是否删除了我需要的内容,等等。

0 个答案:

没有答案