Get Monitor Information : Native Windows Function : Windows C# Examples


C# Examples » Windows » Native Windows Function »

 

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);
        
    }
}
    
   
  
   



Output

40
Rect


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Windows
» Native Windows Function