zhyan 发表于 2014-7-10 11:59:54

使用Send发送字符串,结果有部分字符串加入了Shift

使用Send($str)向一个窗口输入一串字符,结果中间有一段字符被莫名其妙加上了Shift,就是类似于12345变成了!@#¥%,有人知道这种情况是为什么吗?论坛上搜了一下有一个类似的帖子,结果没人回复。求高手解答啊。

qwe4919705 发表于 2014-7-10 14:26:34

如果是要发送过字符串是Send("123456") 发送按键是Send("{ENTER}")发送快捷操作是Send("^a")代表着全选这里你应该是遇见这样的的了'+'
表示告知 AutoIt 要发送一个 SHIFT 键击动作,因此语句 Send("Hell+o") 的意思是按序发送按键 "HellO".Send("!+a") 表示发送 "ALT+SHIFT+a".    你看看你的代码里有没有+号 注意分隔

zhyan 发表于 2014-7-10 14:31:08

回复 2# qwe4919705

发送的就是一串字符串,类似“\20140710\test.bat”这种。很长的一串字符串,但是中间有一段send过去的是加了Shift的结果。在send之前把字符串打印出来看也没问题。所以不清楚具体怎么回事… 又试了试好像一般是好的,只是偶尔会出现这种问题。

qwe4919705 发表于 2014-7-10 14:55:34

这个 就不知道了   你还会是把字符窜拼接一下吧autoit有时编译就是有点问题

xz00311 发表于 2014-7-11 09:48:37

应该不会啊

xz00311 发表于 2014-7-11 09:48:53

应该延时一下吧
页: [1]
查看完整版本: 使用Send发送字符串,结果有部分字符串加入了Shift