MFC Activex视频控件全屏及恢复问题
问题如下:
执行我的代码后,全屏并没有问题,问题只存在于部分机器,具体原因不明,特请高手指点迷津。
通过JS调用的OCX控件在IE中加载并且播放视频,正常窗口播放时进行全屏操作,可以看到全屏状态下的视频,此时如果恢复全屏变为原小窗口播放的话,会出现视频消失看不到。但是此时如果再次全屏,会发现视频依然可以在全屏中播放,只是恢复全屏的时候显示罢了。
注:此问题并非所有机器这样,只是个别机器才有此情况。
代码如下:
CWnd* tray = CWnd::FindWindow(_T("Shell_traywnd"),NULL);
HWND WinStart = ::FindWindow(_T("Button"),NULL);
if (Bool_FullScreen == FALSE )
{
Bool_FullScreen == TRUE;
::SetParent(Mediaplay_hWnd,GetDesktopWindow()->GetSafeHwnd());
::MoveWindow(MediaPlay_hWnd,0,0,x_Full,y_Full,TRUE);
if( tray->IsWindowVisible())
{
tray->ShowWindow(SW_HIDE);
::ShowWindow(WinStart,SW_HIDE);
}
tray -> SendMessage(WM_HOTKEY,0x1f5);
}
else
{
Bool_FullScreen = FALSE;
keybd_event(VK_LWIN,0,0,0);
keybd_event(VK_LSHIFT,0,0,0);
keybd_event('M',0,0,0);
keybd_event(VK_LWIN,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_LSHIFT,0,KEYEVENTF_KEYUP,0);
keybd_event('M',0,KEYEVENTF_KEYUP,0);
::SetParent(MediaPlay_hWnd,hWndParent);
::MoveWindow(MediaPlay_hWnd,0,0,x_nFull,y_nFull,TRUE);
if (!tray->IsWindowVisible())
{
tray->ShowWindow(SW_SHOW);
::ShowWindow(WinStart,SW_SHOW);
}
}