Code Wave Code Wave - 2 months ago 22
C# Question

Getting Active Window Coordinates and Height Width in C#

I just check in some of the posts here, but none were helpful to me.

The thing I am trying to do is to run a background process of Screen Capturing. Now I want a piece of code that would give me the X, Y or any Active/Current Window opened (Say Notepad) and its Height and Width.

Just that and nothing else.

Answer
[DllImport("user32.dll")]  
static extern IntPtr GetForegroundWindow();  


private IntPtr GetActiveWindow()  
{  
    IntPtr handle = IntPtr.Zero;  
    return GetForegroundWindow();  
}

Then get the window position with GetWindowRect.

[DllImport("user32.dll")]  
[return: MarshalAs(UnmanagedType.Bool)]  
static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);  

[StructLayout(LayoutKind.Sequential)]  
public struct RECT  
{
    public int Left;        // x position of upper-left corner  
    public int Top;         // y position of upper-left corner  
    public int Right;       // x position of lower-right corner  
    public int Bottom;      // y position of lower-right corner  
}