【问题标题】:CreateWindow could not find window classCreateWindow 找不到窗口类
【发布时间】:2021-08-24 16:56:09
【问题描述】:

我正在使用CreateWindow() API,它在升级到 VS2019 之前在 VS2015 上正常工作。升级到 VS2015 CreateWindow API 后返回 null HWND。在CreateWindow() API之前调用AtlAxWinInit()如下图:

CreateControl()
{
    AtlAxWinInit();
    HWND hwndChild =   CreateWindow(_T("AtlAxWin"),
    _T("test"),
    WS_CHILD|WS_VISIBLE,
    0,0,0,0,
    hwnd,NULL,
    ::GetModuleHandle(NULL),
    NULL);
}

GetLastError() 正在返回 1407 错误代码,即 ERROR_CANNOT_FIND_WND_CLASS:

找不到窗口类。

你能帮我解决这个问题吗..

谢谢..

【问题讨论】:

    标签: c++ visual-studio-2019 atl wtl createwindow


    【解决方案1】:

    在不同版本的 Visual Studio 中更改了 ATL 窗口类名称。 VS 2019 是“AtlAxWin140”。

    atldef.h 文件在以下宏中定义了当前版本的 windows 类名:ATLAXWIN_CLASS

    您应该使用 ATLAXWIN_CLASS 宏而不是 _T("AtlAxWin")。

    【讨论】:

    • 如果这有帮助,请考虑选择这个作为接受的答案。
    猜你喜欢
    • 2011-05-17
    • 2010-10-18
    • 2010-12-15
    • 2012-07-31
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    相关资源
    最近更新 更多