類似的問題已經被問,所以我不會浪費時間來重新解釋它,已有的討論,可以在這裏找到: ToAscii/ToUnicode in a keyboard hook destroys dead keys如何在不破壞密鑰支持的情況下使用ToUnicode?
但是我張貼新的問題的原因是,我似乎遇到了「解決方案」,但我不太清楚如何實施它。
本博客文章似乎提出了一個解決方案的ToUnicode殺死鍵支持問題: http://www.siao2.com/2005/01/19/355870.aspx
但是我不知道如何實現建議的解決方案。一個正確的方向推動將不勝感激。
要清楚,我指的是部分是這樣的:
有兩種方法來解決此問題:
1)您可以保持通話ToUnicode用相同的信息,直到它被清除,然後再撥打一次,將狀態恢復到以前沒有輸入任何內容的狀態,或者
2)您可以提前加載所有鍵盤信息,然後當他們鍵入信息時可以在您自己的信息緩存中查找按鍵的意思,而不必遲到調用API河
我不太清楚如何做這些事情(鍵盤和國際化遠不是我的強項),所以任何幫助將不勝感激。
感謝
但修復win32 API將是一個危險的先例。想想如果他們開始*那條路徑,他們在他們之前的工作量。 – jalf 2010-04-09 08:59:01
@jalf:我不確定這是否諷刺。 Windows的i18n/l10n正在積極開發中。對於這個特殊的位,他們可能不需要.Net代碼(鍵盤處理是相當低級的),所以修復Win32 API是一個合理的建議,可能是唯一的方案。 – MSalters 2010-04-09 10:47:14
代碼示例的任何機會將我推向正確的方向?我很尷尬地說我還有點迷路。呃,我非常討厭這個鍵盤的東西。謝謝。 – RaptorFactor 2010-04-09 15:28:43