[VBS-] SendKeys遇到輸入法切換問題的心得教學

作者: OSDBNetwork (路人甲)   2021-09-04 13:53:31
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 的程式碼就是以中文輸入法的模式

Links booklink

Contact Us: admin [ a t ] ucptt.com