首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unicode不接受WScript字符

Unicode不接受WScript字符
EN

Stack Overflow用户
提问于 2014-04-14 19:13:49
回答 2查看 1.4K关注 0票数 3

我正在尝试发送字符"ä“使用WScript Sendkeys.Seems它不工作。我找到了一个帖子Does or Can VBscript's SendKeys support Unicode?

我的代码:

代码语言:javascript
复制
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(因为这不是我的领域)。我知道我是在乞求代码(请原谅我)。但是请理解我的处境。

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-04-15 16:40:21

Windows脚本宿主的SendKeys doesn't support Unicode

WSH/SendKeys的替代方案:

  • 使用免费工具AutoIt实现图形用户界面自动化。您可以使用AutoIt的SendControlSendControlSetText命令自动输入文本。

运行(‘notepad.exe’)WinWaitActive(“CLASS:记事本”,"",10) ControlSend(“CLASS:记事本”,"","Edit1","äääHello World!“)

  • 用另一种编程语言(C++,C#等)编写代码,并使用KEYEVENTF_UNICODE标志调用Windows API SendInput函数。
票数 4
EN

Stack Overflow用户

发布于 2014-04-14 20:39:29

这条评论是错误的。除了被称为扫描码的键盘代码之外,没有unicode或其他任何代码的键盘。如果你不能在键盘上输入,那么sendkey也不能。它们是击键,而不是字符。含义取决于您使用的键盘布局。使用与键盘相同的击键。如果窗口是使用CreateWindowA创建的,Windows会将其转换为ascii字符;如果窗口是使用CreateWindowW创建的,Windows会将其转换为unicode字符。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23058634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档