在MFC中使用非英语输入法时捕捉按键

在MFC中使用非英语输入法时捕捉按键,mfc,internationalization,keypress,Mfc,Internationalization,Keypress,最近,我在做一些关于i18n的研究。我发现一些非英语输入法在键盘事件中与英语输入法不同。我试图通过重写PreTranslateMessage方法来捕捉按键。但它不适用于中国和俄罗斯的输入法。这些方法不调用PreTranslateMessage方法。有人知道这个问题的解决方法吗?你的问题不清楚。我假设英语和非英语是指ANSI和Unicode。您可以显示一些代码来改进问题。您至少可以显示您的预翻译信息吗?当它不起作用时?你不能用WM_键吗?您可以检查是否按下ctrl、shift、alt或其他键以仅在

最近,我在做一些关于i18n的研究。我发现一些非英语输入法在键盘事件中与英语输入法不同。我试图通过重写PreTranslateMessage方法来捕捉按键。但它不适用于中国和俄罗斯的输入法。这些方法不调用PreTranslateMessage方法。有人知道这个问题的解决方法吗?

你的问题不清楚。我假设英语和非英语是指ANSI和Unicode。您可以显示一些代码来改进问题。您至少可以显示您的预翻译信息吗?当它不起作用时?你不能用WM_键吗?您可以检查是否按下ctrl、shift、alt或其他键以仅在应用程序不在模式消息循环中时调用PreTranslateMessage。例如,当UI显示模式对话框或移动/调整大小时,将创建嵌套消息循环。如果未调用预翻译消息,则您处于嵌套消息循环中。