我正在尝试发送字符"ä“使用WScript Sendkeys.Seems它不工作。我找到了一个帖子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(因为这不是我的领域)。我知道我是在乞求代码(请原谅我)。但是请理解我的处境。
非常感谢!
发布于 2014-04-15 16:40:21
Windows脚本宿主的SendKeys doesn't support Unicode。
WSH/SendKeys的替代方案:
Send、ControlSend或ControlSetText命令自动输入文本。运行(‘notepad.exe’)WinWaitActive(“CLASS:记事本”,"",10) ControlSend(“CLASS:记事本”,"","Edit1","äääHello World!“)
KEYEVENTF_UNICODE标志调用Windows API SendInput函数。发布于 2014-04-14 20:39:29
这条评论是错误的。除了被称为扫描码的键盘代码之外,没有unicode或其他任何代码的键盘。如果你不能在键盘上输入,那么sendkey也不能。它们是击键,而不是字符。含义取决于您使用的键盘布局。使用与键盘相同的击键。如果窗口是使用CreateWindowA创建的,Windows会将其转换为ascii字符;如果窗口是使用CreateWindowW创建的,Windows会将其转换为unicode字符。
https://stackoverflow.com/questions/23058634
复制相似问题