title: WM_CHAR hooked twice in some programs
body: <p>I'm hooking WM_CHAR message using WH_GETMESSAGE hook. When I'm typing sth into firefox window or CodeBlocks editor, for every key typed I'm getting WM_CHAR twice. However, in chrome it's only one message. Why? And how can I deal with it?</p>
  
  <pre><code>LRESULT CALLBACK Proc(int code, WPARAM wParam, LPARAM lParam)
  {
      if(code &gt;= HC_ACTION)
      {
          MSG* msg=(MSG *)lParam;
          if(msg-&gt;message==WM_CHAR)
          {
              MessageBox(0, 0, 0, 0);
          }
      }
      return CallNextHookEx(hHook, code, wParam, lParam);
  }
  </code></pre>