Mega Code Archive

 
Categories / C# Tutorial / Windows
 

Get Monitor Information

/*         Revised from  NET Development for Java Programmers */ using System; using System.Runtime.InteropServices; [ StructLayout( LayoutKind.Explicit ) ] struct Point {   [ FieldOffset( 0 ) ]   public int x;   [ FieldOffset( 4 ) ]   public int y; } [ StructLayout( LayoutKind.Sequential ) ] struct Rect {   public int left;   public int top;   public int right;   public int bottom; } [ StructLayout( LayoutKind.Sequential ) ] struct MonitorInfo {   public uint size;   public Rect monitor;   public Rect work;   public uint flags; } class MainClass {   [ DllImport( "user32.dll" ) ]   static extern IntPtr MonitorFromPoint( Point p, uint flags );   [ DllImport( "user32.dll" ) ]   static extern bool GetMonitorInfo( IntPtr hmon, ref MonitorInfo mi );   [STAThread]   static void Main(string[] args)   {     Point p = new Point();     p.x = 1;     p.y = 1;     IntPtr hmon = MonitorFromPoint( p, 1 );     MonitorInfo mi = new MonitorInfo();     mi.size = (uint)Marshal.SizeOf( mi );         bool success = GetMonitorInfo( hmon, ref mi );     Console.WriteLine(mi.size);     Console.WriteLine(mi.monitor);        } } 40 Rect