PostMessage (user32)
Last changed: -78.110.196.168

.
Summary

C# Signature:

[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll", SetLastError = true)]
static extern bool PostMessage(HandleRef hWnd, uint Msg, IntPtr wParam,
   IntPtr lParam);

vb Signature:

<DllImport("user32.dll", SetLastError := true)> _
Friend Shared Function PostMessage(hWnd as IntPtr, Msg as Int32, wParam as IntPtr, lParam as Intptr) as Boolean
End Function

User-Defined Types:

None.

Notes:

MSDN says: If the function fails, the return value is zero. To get extended error information, call GetLastError.

Tips & Tricks:

Please add some!

Sample Code:

A wrapper for PostMessage looking for errors:

    int PostMessageSafe( HandleRef hWnd, uint msg, intPtr wParam, intPtr lParam )
    {
        bool returnValue = PostMessage( hWnd, msg, wParam, lParam );

        if( returnValue == false )
        {
        // An error occured
        throw new Win32Exception( Marshal.GetLastWin32Error() );
        }

        return returnValue;
    }        

Alternative Managed API:

Do you know one? Please contribute it!

Documentation
PostMessage on MSDN