Как получить HWND из IVideoWindow

Рейтинг: 0Ответов: 1Опубликовано: 28.06.2023

Я использю библиотеку dshow.h. Мне нужно чтобы окно IVideoWindow появлялось впереди всех окон. Для этого нужно иметь HWND чтобы через функцию SetWindowPos. Возможно есть и другие варианты, но в голове только этот. Как получить из IVideoWindow HWND.

Ответы

▲ 0Принят

На самом деле все легко:

IVideoWindow* videoWindow = NULL;
HWND hWnd = NULL;

//Тут происходит вся инициализация, переходем на момент где задаем настройки окна

videoWindow->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
videoWindow->put_Owner((OAHWND)hWnd);
videoWindow->put_Visible(OATRUE);
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

//Дальше воспризводим видео и освобождаем данные