在基于VMR7的视频开发过程中,大家看到的视频窗口其实根本不是一个,本身有一个父窗口,视频窗口是基于父窗口显示的,但是,很悲催的是,关于子窗口句柄却没有提供现成的接口,导致如果要在视频上做一些操作非常困难,后来我通过VC6.0自带的Spy++工具监控到了父窗口,可以捕获到视频窗口的“Handle”、“Caption”、“Class”等属性,就联想到可以通过这些信息获取视频窗口的句柄了,方法如下:
//m_hWnd父窗口的句柄,这个是通过Spy++监控到的视频窗口的默认标题
::GetDC(FindWindowEx(m_hWnd, NULL, NULL, "ActiveMovie Window"));
//如果大家不放心,担心视频窗口的标题会被改了,可以用如下代码:
IVideoWindow * mVideoWindow; //视频窗口的接口
mVideoWindow->get_Caption(str);
::GetDC(FindWindowEx(m_hWnd, NULL, NULL, str));