在C ++中检测youtube的全屏模式

时间:2012-08-19 23:38:53

标签: c++ windows google-chrome web youtube

我期待在C ++中检测用户是否在全屏模式下有一些网络应用程序,例如Youtube。

这样我就可以防止显示焦点的通知,从而不会打扰用户。

EDIT1

  • 应该支持Windows XP SP III及更高版本(或至少很好用 对于Win 7及更高版本。)

1 个答案:

答案 0 :(得分:1)

以下代码来自http://www.deanlee.cn/windows/how-to-detect-whether-or-not-user-is-running-a-full-screen-program/

bool IsFullScreenMode()
{
  int w = GetSystemMetrics(SM_CXSCREEN);
  int h = GetSystemMetrics(SM_CYSCREEN); 

  HWND hWnd = 0;
  while (hWnd = FindWindowEx(NULL, hWnd, NULL, NULL))
  {
    if (GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOPMOST)
    {
      RECT rcWindow;
      GetWindowRect(hWnd, &rcWindow);
      if ((w == (rcWindow.right - rcWindow.left)) &&
         (h == (rcWindow.bottom - rcWindow.top)))
           return true;
     }
  }
  return false;
}