在全屏幕中显示窗口

如何在不退出电影播放器​​的全屏模式的情况下全屏播放电影时显示窗口? 我只想把窗户放在电影的顶端。 我知道这是可行的,因为雅虎messeger每次都会显示你已经login或注销了一个皮尔森,而且我确定还有其他程序也这样做,但现在我不记得了。

它可以在C / C ++ mfc,win api,c#,wpf它不是。

Solutions Collecting From Web of "在全屏幕中显示窗口"

只需用z顺序显示窗口,将其放在全屏窗口的顶部。 我想你可以通过调用传递HWND_TOP SetWindowPos HWND_TOP 。 像这样的东西:

 SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); 

您可能还需要包含SWP_NOACTIVATE ,或者可能包含其他一些SWP_***选项。 您可以在SetWindowPos函数中检查不同SWP_***消息的uFlags参数。

C#使用user32.dll的SetForegroundWindow()

更多关于stackoverflow C#强制形式焦点

  // Sets the window to be foreground [DllImport("User32")] private static extern int SetForegroundWindow(IntPtr hwnd); // Activate or minimize a window [DllImportAttribute("User32.DLL")] private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); private const int SW_SHOW = 5; private const int SW_MINIMIZE = 6; private const int SW_RESTORE = 9; private void ActivateApplication(string strAppName) { Process[] pList = Process.GetProcessesByName(strAppName); if (pList.Length > 0) { ShowWindow(pList[0].MainWindowHandle, SW_RESTORE); SetForegroundWindow(pList[0].MainWindowHandle); } } 

SetForegroundWindow将把玩家带出全屏模式,而BringWindowToTop将不起作用。 如果窗口来自与视频播放器相同的应用程序,则所有其他方法都会工作,但我需要的是从另一个应用程序的视频播放器(全屏)中放入一个窗口。