亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

網上查了一些資料,還是沒頭緒,求指教?。?/h1>

網上查了一些資料,還是沒頭緒,求指教??!

一只斗牛犬 2022-10-08 14:14:47
用hwnd = GetForegroundWindowhCurThread = GetWindowThreadProcessId(hwnd, ByVal 0&)得到活動窗口的線程句柄然后不知道怎么辦了LoadKeyboardLayout這個方法似乎只能設置當前線程的。請求幫助圖片之家答題隊:您說的是控制本進程里本線程的輸入法狀態。我的意思是控制其他進程的輸入法。例如,我打開記事本后,我的程序能把記事本的輸入法改成西班牙語,控制別的程序的輸入法。我試過SendMessage(hwnd, WM_IME_SELECT, True, "0000040A"),好像沒用
查看完整描述

2 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

使用LoadKeyboardLayout函數可以改變輸入法的順序,只要在第一個參數中傳遞目標輸入法的KeyboardlayoutName,第二個參數用KLF_REORDER就可以了。
例如,aa = LoadKeyboardLayout(〃00000409〃, KLF_REORDER) 使英文變成第一。那怎樣獲得KeyboardlayoutName呢?因為使用GetKeyboardLayoutname可以返回當前輸入法的KeyboardlayoutName,所以我們可以先用GetKeyboardLayoutList 函數來取得所有輸入法,再用activateKeyboardlayout()函數設置當前輸入法,最后就可以得到它的KeyboardlayoutName了

查看完整回答
反對 回復 2022-10-12
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

建議試下先用AttachThreadInput附加至目標線程再用activateKeyboardlayout設置輸入法。
*****************************************************************
首先需要指出的是你給的那個代碼是C的不是Java的。
然后他用的消息不是你的WM_IME_SELECT而是WM_INPUTLANGCHANGEREQUEST,其他的代碼你照他的代碼搬過來就是了。
我這里沒有VB不好測試。

查看完整回答
反對 回復 2022-10-12
  • 2 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號