在VS2015上无法使用CreateWindow API

时间:2018-08-30 11:45:46

标签: c++ windows winapi

我们使用的CreateWindow() API在升级到VS2015之前已在VS2012上正常工作。升级到VS2015后,CreateWindow API返回空HWND。

我们在AtlAxWinInit() API之前调用CreateWindow(),如下所示。

例如:

// Code on VS2012 which is working correctly and failing on VS2015.

CreateControl()
{
    BOOL res = AtlAxWinInit();         // successfully return true..
    // Below API successfully return HWND on VS2012 level.
    HWND hwndChild =   CreateWindow(_T("AtlAxWin110"),
                                    _T("test"),
                                    WS_CHILD|WS_VISIBLE,
                                    0,0,0,0,
                                    hwnd,NULL,
                                    ::GetModuleHandle(NULL),
                                    NULL);
}

根据VS2015,我们将类名更改为“ AtlAxWin140”,但API仍然失败。

CreateControl()
{
    BOOL res = AtlAxWinInit();         // successfully return true..
    // For VS2015 we changed class name to "AtlAxWin140" still API is returning null HWND.
    HWND hwndChild =   CreateWindow(_T("AtlAxWin140"),
                                    _T("test"),
                                    WS_CHILD|WS_VISIBLE,
                                    0,0,0,0,
                                    hwnd,NULL,
                                    ::GetModuleHandle(NULL),
                                    NULL);
}

GetLastError()通话后,我还检查了CreateWindow;它正在返回

  

“未注册课程”。

您能帮我解决这个问题吗?。

谢谢..

0 个答案:

没有答案