From 435b843080a7c995561dbe73909fa2ff342dc60f Mon Sep 17 00:00:00 2001 From: dahall Date: Thu, 6 Aug 2020 17:15:12 -0600 Subject: [PATCH] Added `IntPtr SendMessage(HWND hWnd, TEnum msg, TWP wParam, IntPtr lParam = default)` --- PInvoke/User32/WinUser.Message.cs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/PInvoke/User32/WinUser.Message.cs b/PInvoke/User32/WinUser.Message.cs index afdf61bc..69906e09 100644 --- a/PInvoke/User32/WinUser.Message.cs +++ b/PInvoke/User32/WinUser.Message.cs @@ -2199,7 +2199,28 @@ namespace Vanara.PInvoke where TEnum : struct, IConvertible where TWP : struct, IConvertible where TLP : class { using var lp = new PinnedObject(lParam); - return SendMessage(hWnd, Convert.ToUInt32(msg), new IntPtr(Convert.ToInt64(wParam)), (IntPtr)lp); + return SendMessage(hWnd, Convert.ToUInt32(msg), new IntPtr(Convert.ToInt64(wParam)), lp); + } + + /// + /// Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window + /// and does not return until the window procedure has processed the message. + /// + /// The type of the value. + /// The type of the value. + /// + /// A handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST ((HWND)0xffff), the + /// message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and + /// pop-up windows; but the message is not sent to child windows. + /// + /// The message to be sent. + /// Additional message-specific information. + /// Additional message-specific information. + /// The return value specifies the result of the message processing; it depends on the message sent. + public static IntPtr SendMessage(HWND hWnd, TEnum msg, TWP wParam, IntPtr lParam = default) + where TEnum : struct, IConvertible where TWP : struct, IConvertible + { + return SendMessage(hWnd, Convert.ToUInt32(msg), new IntPtr(Convert.ToInt64(wParam)), lParam); } ///