2

どういうわけか、ユーザーがフルスクリーンモードでYoutubeなどのWebアプリを使用しているかどうかをC++で検出することを楽しみにしています。

このようにして、通知にフォーカスを合わせて表示することを防ぎ、ユーザーの迷惑にならないようにします。

編集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 に答える