使用MFC制作无窗口的ActiveX控件,用于播放视频,简简单单显示画面就可以了。但是这时候问题来了,由于SDL设置的时候需要一个窗口句柄,但是这时候控件没有句柄。后来我使用基于现有的Windows控件来做,能获取到一个窗口句柄,但是使用这个句柄后,视频还是出不来。请问怎么才能搞一个能显示视频的无窗口ActiveX控件啊?
我看到DirectDraw也是需要一个窗口句柄的,但是无窗口控件的句柄貌似不是合法的,怎么才能弄出那种有窗口控件的句柄了?
不是可以通过GetWindowHandle来获取的么,如果是控制台,则可通过GetConsoleWindow来获取句柄
我在MFC里面用了GetSafeHwnd来获取窗口句柄,句柄值为空。
@有坚不摧之力: 瞄下你的调用代码
@有坚不摧之力: Returns NULL if the CWnd is not attached to a window or if it is used with a NULL CWnd pointer
@jello chen:
1 HWND hWnd = this->GetSafeHwnd(); 2 m_pH264Decoder = new CH264Decode(hWnd);
@有坚不摧之力: 建议在HWND hWnd = this->GetSafeHwnd();处添加断点,监视一下this
@jello chen: 监视过了,this指针肯定是存在的,如果控件没有基于Windows控件来做的话,返回值为空,否则有但是不合法。
@有坚不摧之力: 那this->m_hWnd的值呢