title: C# - How to send small letters with SHIFT key using SendKeys.Send?
body: <p>I am using <a href="http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx" rel="nofollow">this</a> keyboard hook for my project. I am unable to send small letters using SendKeys.Send() with SHIFT modifier key pressed. My app needs (for example) if the user presses <kbd>K</kbd> button <strong>"a"</strong> should be sent and if he presses <kbd>SHIFT</kbd>+<kbd>K</kbd>, <strong>"b"</strong> should be sent. The code is:</p>
  
  <pre><code>void gkh_KeyDown(object sender, KeyEventArgs e)
  {
      if (e.KeyCode == Keys.K)
      {
          if (Control.ModifierKeys == Keys.Shift)
              SendKeys.Send("b");
          else
              SendKeys.Send("a");
      }
      e.Handled == true;   
  }
  </code></pre>
  
  <p>But it sends <strong>"B"</strong> (Capital letter) instead of <strong>"b"</strong>, that is the <kbd>SHIFT</kbd> key changes the sent keystroke "b" to uppercase. This happens even after adding <strong>Keys.Shift</strong> to the hook.</p>
  
  <p>I tried many approaches including using <strong>e.SupressKeyPress</strong>, <strong>SendKeys("b".toLower())</strong> and putting above code in KeyUp event but in vein.</p>
  
  <p>Pls help me, I am very frustated, my application developement is struck at this point.</p>