代码之家  ›  专栏  ›  技术社区  ›  Raphael

如何知道用户是否使用多个监视器

  •  10
  • Raphael  · 技术社区  · 15 年前

    我正在尝试找出一种方法来知道用户是否使用多个监视器。

    我想知道如何在本机C++(使用Win32 API)和托管代码(使用.NETFramework)中做到这一点。

    提前谢谢

    4 回复  |  直到 15 年前
        1
  •  12
  •   Cory Charlton    15 年前

    我可以给你C.NET:

    if (Screen.AllScreens.Length > 1)
    {
        // Multiple monitors
    }
    

    编辑: 谷歌上的搜索结果如下。它提到98/ME,所以它可能不相关,但可能会指向正确的方向:

    在Windows98中有新的用于处理多个监视器的API。monitors类示例中使用的API是getmonitorinfo、monitorFromWindow和monitorFromRect。

    getSystemMetrics API有一些新的常量(见下文),可用于确定多个监控系统的指标。GetSystemMetrics API返回有关Windows环境的信息。此API可用于确定系统上有多少个监视器,它们是否设置为相同的显示格式,以及虚拟桌面的大小。

    http://support.microsoft.com/kb/194578

        2
  •  6
  •   Kornel Kisielewicz    15 年前

    GetSystemMetrics 具有 SM_CMONITORS 你走吧…

        3
  •  6
  •   Dan Herbert    15 年前

    在.NET中,使用 Screen.AllScreens .长度属性。不太肯定C++。

        4
  •  2
  •   Raphael    15 年前

    只需在这里记录C/C++解决方案:

    int iMonitors = GetSystemMetrics(SM_MONITORS);