CreateWindow 找不到窗口类

Posted

技术标签:

【中文标题】CreateWindow 找不到窗口类【英文标题】:CreateWindow could not find window class 【发布时间】: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:

找不到窗口类。

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

谢谢..

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

如果这有帮助,请考虑选择这个作为接受的答案。

以上是关于CreateWindow 找不到窗口类的主要内容,如果未能解决你的问题,请参考以下文章

Python MainWindow 类找不到属性

控制器类找不到 html 模板

myeclipse 下执行mian函数报类找不到主函数

异常IDEA hive代码提示HiveDriver类找不到 或者 Server找不到

Eclipse中HttpServlet类找不到

为啥我的 html5 类找不到我的可观察数组内容?