MFC 按鍵響應事件切到中文輸入法卡死

2021-10-07 20:40:15 字數 741 閱讀 7433

最近做了乙個mfc專案,用到了按鍵響應事件,發現當在中文輸入法下有按下按鍵的動作之後,mfc程式就會卡死

解決方法①

經過切換輸入法發現:搜狗中文輸入法下會卡死,但是微軟的中文下不會卡死,只是那樣就是打拼音了而已,無法執行按鍵事件,但不卡死就好
pretranslatemessage

(msg* pmsg)

我們加入以下**

pretranslatemessage

(msg* pmsg)

else

if(himewnd02 !=

null

) himewnd01 =

findwindowex

(null

, himewnd01, sclassname, swindowtext);}

pretranslatemessage

(pmsg);}

問題解決,在搜狗輸入法和微軟下都可以了,其實質是禁用了搜狗的中文輸入法,如下圖,不知道如果有輸入文字的需要行不行呢

解決方法③和方法②一樣,只是加的**不一樣,我沒有測試成功,不過智者見智,也許對大家的工程有用呢

pretranslatemessage

(msg* pmsg)

pretranslatemessage

(pmsg);}

MFC 鍵盤響應事件

鍵盤響應有三個函式 1 wm keydown void cmyview onkeydown uint nchar uint nrepcnt uint nflags 2 wm char void cmyview onchar uint nchar uint nrepcnt uint nflags 3 ...

linux下獲取按鍵響應事件

linux下獲取按鍵響應事件 1 問題 通過乙個死迴圈將讀取鍵盤對應的裝置檔案將觸發鍵盤事件在螢幕上列印出來,按esc退出程式 是在unbuntu10.04編譯執行通過的 2 input event描述 在linux核心中,input裝置用input dev結構體描述,使用input子系統實現輸入裝...

MFC 建立鍵盤按鍵觸發事件

描述 在mfc中通過按鍵盤某些按鍵觸發一些事件 資源檢視 dialog 指定介面 類嚮導 虛函式 pretranslatemessage 找到自動生成的方法,新增方式如下 bool ctakephoto pretranslatemessage msg pmsg if pmsg wparam vk s...