看板 EzHotKey 關於我們 聯絡資訊
VBScript的SendKeys常常遇到輸入法切換的問題, 例如:SendKeys要送出英文字,應該要在[英文輸入法]的模式下進行, 但是系統卻切換到[中文輸入法]的模式,導致錯誤. 底下是分享如何解決此問題: [第1步] 首先如果系統沒有英文輸入法, 請新增一個英文輸入法, 如右圖: https://i.imgur.com/kFtixGl.jpg
[第2步] 將英文輸入法的按鍵順序設定成[Ctrl+Shift+1], 將中文輸入法的按鍵順序設定成[Ctrl+Shift+2], 如右圖: https://i.imgur.com/4bFbrkB.jpg
使用SendKeys強制切換成[英文輸入法]的模式, 這樣系統就不會再跑到[中文輸入法]的模式去了, 最後VBScript程式碼如下: Set oShell = WScript.CreateObject("WScript.Shell") oShell.SendKeys "^+1" 之後 SendKeys 的程式碼就是以英文輸入法的模式 [SendKeys的^]代表[鍵盤的Ctrl鍵] [SendKeys的+]代表[鍵盤的Shift鍵] 當然,如果你要強制用中文輸入法的模式來SendKeys, 最後VBScript程式碼如下: Set oShell = WScript.CreateObject("WScript.Shell") oShell.SendKeys "^+2" 之後 SendKeys 的程式碼就是以中文輸入法的模式 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.170.200 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1630734814.A.554.html ※ 編輯: OSDBNetwork (223.139.170.200 臺灣), 09/04/2021 13:55:05