EnumDisplayMonitors
是 C# 中的一个方法,它属于 System.Drawing
命名空间。这个方法的主要作用是枚举所有连接到计算机的显示设备,并返回一个包含 System.Drawing.Rectangle
结构数组的数组。每个 Rectangle
结构表示一个显示设备的边界矩形,包括设备的分辨率、工作区位置等信息。
EnumDisplayMonitors
方法的签名如下:
public static bool EnumDisplayMonitors(Rectangle[] bounds, MonitorDelegate callback, IntPtr hdc);
参数说明:
bounds
:一个可选的 Rectangle
数组,用于指定要枚举的显示设备的边界矩形。如果不提供此参数,将枚举所有显示设备。
callback
:一个 MonitorDelegate
委托,用于处理每个显示设备的信息。这个委托的定义如下:
public delegate bool MonitorDelegate(IntPtr hMonitor, ref Rectangle rcMonitor, IntPtr hwndMonitor, ref object dwData);
hMonitor
参数是显示设备的句柄,rcMonitor
参数表示显示设备的边界矩形,hwndMonitor
参数是显示设备关联的窗口句柄,dwData
参数是一个传递给回调函数的自定义数据。
hdc
:一个可选的 IntPtr
参数,用于指定设备上下文。如果不提供此参数,将使用当前设备上下文。
通过 EnumDisplayMonitors
方法,你可以获取到计算机上所有显示设备的详细信息,例如分辨率、工作区位置等。这对于开发多显示器应用程序或者需要处理多个显示设备的场景非常有用。