I am writing an application that sends keystrokes to another application using SendMessage.
[DllImport(\"user32.dll\")]
public static extern in
Microsoft explains the difference between these WM messages here Keyboard Input (Windows).
WM_SYSKEYDOWN simulates system commands like ALT + TAB used to switch windows.
WM_CHAR simulates user input like input in a text box for instance.
WM_KEYDOWN is usually used together with WM_KEYUP. See WM_KEYDOWN message (Windows).
Most probably you will want to use WM_CHAR.