<p>I've successfully used the Windows SendMessage method to help me do various things in my text editor, but each time I am just copying and pasting code suggested by others, and I don't really know what it means.  There is always a cryptic message number that is a parameter.  How do I know what these code numbers mean so that I can actually understand what is happening and (hopefully) be a little more self-sufficient in the future?  Thanks.</p>

<p>Recent example:</p>

<pre><code>using System.Runtime.InteropServices;

[DllImport("user32.dll")]
static extern int SendMessage(IntPtr hWnd, uint wMsg,UIntPtr wParam, IntPtr lParam);

SendMessage(myRichTextBox.Handle, (uint)0x00B6, (UIntPtr)0, (IntPtr)(-1));
</code></pre>

This is the windows message code.
They are defined in the header files, and generally available translated as an include of some sort with different languages.
example:
WM_MOUSEMOVE = &H200
MK_CONTROL = &H8
MK_LBUTTON = &H1
MK_MBUTTON = &H10
MK_RBUTTON = &H2
MK_SHIFT = &H4
MK_XBUTTON1 = &H20
MK_XBUTTON2 = &H40
see
http://msdn.microsoft.com/en-us/library/ms644927(VS.85).aspx#windows_messages
.