У меня есть проект MFC в Microsoft Visual Studio 2010. В моем диалоге у меня есть PictureControl. Я генерирую окно с OpenCV, а затем я перевожу его в свой PictureControl, как это
namedWindow("INPUT", 1);
HWND hWnd = (HWND) cvGetWindowHandle("INPUT");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_BMP_LOAD)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
Когда я компилирую его для 32-битной архитектуры, он работает. Когда я компилирую для 64-битной системы, она генерирует именованное окно, но не скрывает, и у имени у меня появляется странная строка, такая как «% HO», отличная от «INPUT» Когда я пытаюсь показать что-то с помощью imshow, это выдает ошибку с нарушением доступа. Изображения приходят с веб-камеры.
Любая помощь будет оценена!
Благодарю.
ОБНОВИТЬ
Я попытался проверить, в порядке ли обработчик окна hWnd, и при неподтвержденном поле он выдает мне «CXX0030: Ошибка: выражение не может быть оценено». В документации OpenCV у функции cvGetWindowHandle () говорится, что она возвращает собственный HWND окна, на которое ссылается имя в случае приложения Win32.
Задача ещё не решена.
Других решений пока нет …