getwindowinfo (user32)
Last changed: -108.219.86.91

.
Summary

C# Signature:

[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll",SetLastError = true)]
private static extern bool GetWindowInfo(IntPtr hwnd, ref WINDOWINFO pwi);

VB Signature:

Public Declare Auto Function GetWindowInfo Lib "user32" _
(ByVal hwnd As IntPtr, ByRef pwi As WINDOWINFO) As Boolean

VB.Net Signature:

<DllImport("user32.dll",SetLastError:= True)> _
Public Shared Function GetWindowInfo(ByVal hwnd As IntPtr, ByRef pwi As WINDOWINFO) As Boolean
End Function

User-Defined Types:

WINDOWINFO

Notes:

You must assign the cbSize parameter prior to calling GetWindowInfo(). For example:

In C#

    WINDOWINFO info = new WINDOWINFO();
    info.cbSize = (uint)Marshal.SizeOf(info);
    GetWindowInfo(Handle, ref info);

In VB

    Dim info As New WINDOWINFO
    info.cbSize = Convert.ToUInt32(Marshal.SizeOf(info))
    GetWindowInfo(Handle, info)

To get a WINDOWINFO see http://pinvoke.net/default.aspx/Structures.WINDOWINFO

Tips & Tricks:

Note that the members of the RECT structure should be int, not long. In some other API functions they are long, so this can be confusing.

Sample Code:

Please add some!

Alternative Managed API:

Do you know one? Please contribute it!

Documentation