键盘消息,有高手能解决吗?
各位大侠,我在ApplicationEventsMessage中处理WM_KEYDOWN时发现WM_KEYDOWN不会区分大小写字母,而WM_CHAR是区分的。比如'A'和'a'的WM_KEYDOWN消息的wParam和lParam都相同,都是65和1966081;而WM_CHAR消息'A'为65和1966081,'a'为97和1966081。
查看帮助说WM_CHAR是由TranslateMessage函数产生的。那么我急需知道TranslateMessage是如何产生WM_CHAR的?是由WM_KEYDOWN消息转换来的吗?
因为我在处理WM_KEYDOWN消息时,无法区别大小写,只有再处理WM_CHAR消息,然而这样的话程序的问题是:同样的功能会执行两次,很是头痛!
恳请各位帮忙!十分感谢!