【问题标题】:Detect fullscreen mode of youtube in C++在 C++ 中检测 youtube 的全屏模式
【发布时间】:2012-08-19 23:38:53
【问题描述】:

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

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

编辑1

  • 应该支持 Windows XP SP III 及更高版本(或者至少很高兴拥有 适用于 Win 7 及更高版本。)

【问题讨论】:

  • 这在很大程度上取决于您希望它为哪个操作系统和窗口系统工作。
  • 操作系统?视窗系统?你在 Linux 上吗?操作系统?窗户?
  • 我刚刚更新了我的问题。谢谢!

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


【解决方案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;
}

【讨论】:

  • 感谢@nihuo 的分享。我有一个类似的解决方案,尽管我在具有全屏模式的应用程序(例如“Windows Player”和“Power Point”)上尝试了 Deanlee 的代码并取得了良好的效果,但在 Chrome 导航器中却没有使用 Youtube 的全屏模式:(
猜你喜欢
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
相关资源
最近更新 更多