我正试图找出一种方法来了解用户是否使用多台显示器。
我想知道如何在本机C ++(使用Win32 API)和托管代码(使用.NET Framework)中执行此操作。
提前致谢
答案 0 :(得分:12)
我可以给你C#.NET:
if (Screen.AllScreens.Length > 1)
{
// Multiple monitors
}
修改:Google上的搜索结果显示如下。它提到98 / ME所以它可能没有关系,但可能指向正确的方向:
在Windows 98中有新的API用于处理多个监视器。监视器类示例中使用的API是GetMonitorInfo,MonitorFromWindow和MonitorFromRect。
GetSystemMetrics API有一些新的常量(见下文),可用于确定多监视器系统的指标。 GetSystemMetrics API返回有关Windows环境的信息。此API可用于确定系统上有多少台显示器,是否以相同的显示格式设置,以及虚拟桌面的大小。
答案 1 :(得分:6)
在.NET中,它就像使用Screen.AllScreens。Length属性一样简单。不过对C ++不太确定。
答案 2 :(得分:6)
GetSystemMetrics SM_CMONITORS
,然后离开......
答案 3 :(得分:2)
这里只记录C / C ++解决方案:
int iMonitors = GetSystemMetrics(SM_MONITORS);