Мы используем CreateWindow()
API, который корректно работал на VS2012 до обновления до VS2015. После обновления до VS2015 CreateWindow
API возвращает ноль HWND.
Мы звоним AtlAxWinInit()
до CreateWindow()
API, как показано ниже.
Например:
// 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
calll; возвращается
"Класс не зарегистрирован".
Не могли бы вы помочь мне решить эту проблему ..
Спасибо ..