2

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

这样我可以防止在焦点上显示通知,因此不会打扰用户。

编辑1

  • 应该支持 Windows XP SP III 及更高版本(或至少支持 Win 7 及更高版本。)
4

1 回答 1

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;
}
于 2012-08-20T02:28:31.930 回答