Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi Win32:MDI&;退出代码18(0x12)_Winapi_Mdi - Fatal编程技术网

Winapi Win32:MDI&;退出代码18(0x12)

Winapi Win32:MDI&;退出代码18(0x12),winapi,mdi,Winapi,Mdi,我是一个初学者,试图通过以下教程学习win32 API。 我创建了一个MDI窗口 但是,我的窗口应用程序正在退出,代码为18(0x12) “本机”已退出,代码为18(0x12) 我不知道为什么它没有以代码“0”退出 我将PostQuitMessage(WM_QUIT)替换为PostQuitMessage(0),问题就解决了。 下一个问题是: PostQuitMessage(WM_QUIT)和 发帖消息(0) 如何仅打开一个子菜单子窗口 您的WinMain()函数正在返回GetMessage()收

我是一个初学者,试图通过以下教程学习win32 API。 我创建了一个MDI窗口

但是,我的窗口应用程序正在退出,代码为18(0x12)

“本机”已退出,代码为18(0x12)

我不知道为什么它没有以代码“0”退出

我将PostQuitMessage(WM_QUIT)替换为PostQuitMessage(0),问题就解决了。

下一个问题是:

  • PostQuitMessage(WM_QUIT)和 发帖消息(0)

  • 如何仅打开一个子菜单子窗口

  • 您的
    WinMain()
    函数正在返回
    GetMessage()
    收到的最后一条消息的
    wParam
    值,即
    WM\u QUIT
    。其
    wParam
    值在调用
    PostQuitMessage()
    时指定。您将
    WM_QUIT
    作为该值传递,而不是0:

    case WM_DESTROY:
        PostQuitMessage(WM_QUIT);
        return 0;
    
    WM_QUIT
    的数值为18(0x12):


    这就是为什么你的程序退出代码18。< /P>作为第一步,查看<代码> <代码>找到错误代码,和/或使用微软<代码> s /CaseReSoe'实用程序,和/或在C++或PosithBek中创建一个(C++中你将调用<代码> FalfMeals>代码>并呈现结果)。这是什么意思?这听起来像是枚举函数中的某个东西,而您的代码没有调用这样的函数,因此看起来不相关。但它本可以帮助你,而且经常会。这是我处理错误代码的第一步。我不知道它是从哪里来的。很奇怪,你没有做很多错误检查。为什么不呢?@David Heffernan,,因为我是新手,不知道如何检查错误谢谢,,PostQuitMessage(WM_QUIT)和PostQuitMessage(0)之间有什么不同?只需将

    wParam
    值分配给发布的
    WM_QUIT
    消息。您可以将其设置为您想要的任何值,但由于您的代码正在从
    WinMain()
    返回该值,因此必须将其设置为您想要返回的任何退出代码。
    #define WM_QUIT                         0x0012