ToUnicodeEx: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms646322 (v=vs.85).aspx
ToUnicode: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms646320 (v=vs.85).aspx
似乎两者之间的唯一区别是 ToUnicodeEx 允许传递输入语言环境标识符参数,而 ToUnicode 不允许。我的问题是:ToUnicode 本身是否调用 ToUnicodeEx?
此外,在 ToUnicodeEx msdn 页面底部的备注部分,我们看到:由于 ToUnicodeEx 翻译了虚拟键代码,它也改变了内核模式键盘缓冲区的状态。此状态更改会影响死键、连字、alt+数字键盘键输入等。如果与 TranslateMessage 结合使用(这也会改变内核模式键盘缓冲区的状态),它也可能会导致不希望的副作用。
有谁知道内核模式 kb 缓冲区到底在做什么?