[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll",SetLastError = true)]
private static extern bool GetWindowInfo(IntPtr hwnd, ref WINDOWINFO pwi);
Public Declare Auto Function GetWindowInfo Lib "user32" _
(ByVal hwnd As IntPtr, ByRef pwi As WINDOWINFO) As Boolean
<DllImport("user32.dll",SetLastError:= True)> _
Public Shared Function GetWindowInfo(ByVal hwnd As IntPtr, ByRef pwi As WINDOWINFO) As Boolean
End Function
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
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.
Please add some!
Do you know one? Please contribute it!