internal static bool ProxyGetTitleBarInfoEx(IntPtr hwnd, out UnsafeNativeMethods.TITLEBARINFOEX ti) { ti = new UnsafeNativeMethods.TITLEBARINFOEX(); ti.cbSize = Marshal.SizeOf(ti.GetType()); IntPtr result; IntPtr resultSendMessage = UnsafeNativeMethods.SendMessageTimeout(hwnd, NativeMethods.WM_GETTITLEBARINFOEX, IntPtr.Zero, ref ti, _sendMessageFlags, _sendMessageTimeoutValue, out result); int lastWin32Error = Marshal.GetLastWin32Error(); if (resultSendMessage == IntPtr.Zero) { //Window owner failed to process the message WM_GETTITLEBARINFOEX EvaluateSendMessageTimeoutError(lastWin32Error); } return true; }
internal static extern IntPtr SendMessageTimeout(IntPtr hwnd, int uMsg, IntPtr wParam, ref UnsafeNativeMethods.TITLEBARINFOEX lParam, int flags, int uTimeout, out IntPtr result);