上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 1 樓
|
發表於: 星期四 十月 02, 2014 3:09 pm 文章主題: 自訂win7切換輸入法的問題 |
|
|
代碼: |
TEXTBOX-GOTFOCUS
IF FILE("WIN7.DLL")
IF THIS.IMEMODE=1
* MESSAGEBOX(STR(_SYSDEF_IME)+'OK')
CHG_IME(_SYSDEF_IME)
ELSE
* MESSAGEBOX('OK2')
CHG_IME(67372036)
ENDIF
ENDIF
|
如果把訊息打開的話切換是正常的,但是MARK訊息後切換是沒作用的,是什麼問題照成的有人知道嗎? |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 2 樓
|
發表於: 星期四 十月 02, 2014 4:19 pm 文章主題: |
|
|
我的經驗是
WIN7以上,對於輸入法的切換,和XP有很大的改變
您的 CHG_IME()這個函數,是什麼時代的函數呢? |
|
回頂端 |
|
|
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 3 樓
|
發表於: 星期四 十月 02, 2014 4:36 pm 文章主題: |
|
|
FUNC CHG_IME()
lparameters cValue
DECLARE LONG GetKeyboardLayoutList IN USER32 ;
LONG nCount, STRING @ lpList
DECLARE LONG ImmGetDescription IN imm32 ;
LONG hKL, String @ lpszDescription, LONG nLen
DECLARE LONG ImmGetIMEFileName IN imm32 ;
LONG hKL, String @ lpszFileName, LONG nLen
DECLARE LONG ActivateKeyboardLayout IN USER32 ;
LONG hKL, INTEGER Flags
ActivateKeyboardLayout (cValue, 0)
RETU |
|
回頂端 |
|
|
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 4 樓
|
發表於: 星期四 十月 02, 2014 4:39 pm 文章主題: |
|
|
我知道IMEWIN7之後的系統是無作用的,之前爬文參考大概了解只能類似用這種方式處理,目前測試是OK,但是就不知為何一定得有MESSAGEBOX訊息後才會切換,搞不懂問題出在哪 |
|
回頂端 |
|
|
asd89839032
註冊時間: 2012-10-15 文章: 49
第 5 樓
|
發表於: 星期四 十月 02, 2014 5:13 pm 文章主題: |
|
|
有沒有可能是需要等待後才會起作用?
試看看用 wait window timeout 1 之類的
會不會切換 _________________ 菜鳥路過... |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 6 樓
|
|
回頂端 |
|
|
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 7 樓
|
發表於: 星期五 十月 03, 2014 9:54 am 文章主題: |
|
|
只要有灌無蝦米不管怎麼順序怎麼設定一登入系統都會預設成無蝦米很怪 |
|
回頂端 |
|
|
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 8 樓
|
發表於: 星期五 十月 03, 2014 10:31 am 文章主題: |
|
|
我把輸入法切換在GOTFOCUS去DO另一個FORM執行問題就解決了但是遇到比較新的輸入法會抓不到輸入法的代碼,請教有人知道怎麼抓到想要的輸入法代碼嗎?像無蝦米7.0版的代碼是3760194564 |
|
回頂端 |
|
|
spfrk
註冊時間: 2004-11-08 文章: 161
第 9 樓
|
發表於: 星期五 十月 03, 2014 10:41 pm 文章主題: |
|
|
WINDOWS 8 就可以了, 但是第一次輸入法切換,必須手動,之後就可以了 |
|
回頂端 |
|
|
ezpos
註冊時間: 2011-04-20 文章: 323
第 10 樓
|
|
回頂端 |
|
|
|