System.Windows.Forms.SystemInformation is a little known class that exposes a number of static properties that return information about many system settings, such as:
- Icon and cursor size (IconSize and CursorSize properties)
- Height of the menu bar (MenuHeight)
- Number of mouse buttons (MouseButtons)
- Whether the computer is connected to a network (Network)
- Number of monitors on the desktop (MonitorCount)
- How the system was started (BootMode property, that can return FailSave, FailSafeWithNetwork or Normal)
and many others… Refer to the docs for the full list and descriptions. Being all shared/static members, you just write
Dim numMonitors As Integer = SystemInformation.MonitorCount
to know the number of available monitors. As a VB6 programmer you was probably used to call the GetSystemMetrics API function to get some of this information, or used WMI. That’s still possible, but this simple (and little-known) class makes this process much easier, safer, and more immediate.