我们使用的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
;它正在返回
“未注册课程”。
您能帮我解决这个问题吗?。
谢谢..