作者OSDBNetwork (Cloud Service)
看板EzHotKey
标题[VBS-] SendKeys遇到输入法切换问题的心得教学
时间Sat Sep 4 13:53:31 2021
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://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1630734814.A.554.html
※ 编辑: OSDBNetwork (223.139.170.200 台湾), 09/04/2021 13:55:05