title: [C#][Win32 API] PostMessage Help?
body: <p>I've looked at sites and MSDN documentation but I still don't understand the last parameter of PostMessage().</p>
  
  <p>On forums in which people ask how to use PostMessage, people reply with one of two implementations:</p>
  
  <ol>
  <li>PostMessage(WindowHandle, WM_KEYDOWN, KeyCode, MapVirtualKey(KeyCode, 0) &lt;&lt; 16);</li>
  <li>PostMessage(WindowHandle, WM_KEYDOWN, KeyCode, 0);</li>
  </ol>
  
  <p>What's the difference? Why can the last parameter be left as 0 in some instances, but has to be 'shifted' and all that in other instances? </p>
  
  <p>Just a quick question. Don't need essay replies (although they would be much appreciated). Any insight is appreciated. Thanks in advance.</p>