我正在尝试使用WScript Sendkeys发送char“ä”。查看它不起作用。我发现了一篇帖子Does or Can VBscript's SendKeys support Unicode?
我的代码:
Set sh = WScript.CreateObject("WScript.Shell")
sh.Run "notepad.exe", 9
WScript.Sleep 1000 'wait a while to load notepad app'
sh.SendKeys " äää Hello World!" //buggy line
sh.SendKeys "{ENTER}"
WScript.Sleep 100'
sh.SendKeys "^p"
但我无法理解解决方案。如果你用简单的简单代码(解决方案)教我,那将会很棒。我不擅长WScript(因为它不是我的领域)。 我知道我在乞求代码(Pz原谅我)。但是PLZ了解我的情况。
非常感谢提前!!
答案 0 :(得分:4)
Windows脚本主机SendKeys doesn't support Unicode。
WSH / SendKeys的替代方案:
使用免费工具AutoIt进行GUI自动化。您可以使用AutoIt的Send
,ControlSend
或ControlSetText
命令自动输入文本。
Run('notepad.exe')
WinWaitActive("[CLASS:Notepad]", "", 10)
ControlSend("[CLASS:Notepad]", "", "Edit1", "äää Hello World!")
用其他编程语言(C ++,C#等)编写代码,并使用SendInput
标志调用Windows API KEYEVENTF_UNICODE
函数。
答案 1 :(得分:0)
评论错误。除了称为扫描码的键盘代码之外,没有unicode或任何其他代码键盘。如果你不能在键盘上输入它,那么它们都不能发送密钥。它们是按键而不是字符。含义取决于您使用的键盘布局。使用与键盘相同的击键。如果使用CreateWindowA创建Window,或者如果使用CreateWindowW创建窗口,则Windows将其转换为ascii字符。