我正在尝试加密邮件,但如果我使用字母Z则会出错。这是错误(它是荷兰语):
Set x = WScript.CreateObject("WScript.Shell")
mySecret = InputBox("The code")
mySecret = StrReverse(mySecret)
x.Run "%windir%\notepad"
WScript.Sleep 1000
x.SendKeys encode(mySecret)
Function encode(s)
For i = 1 To Len(s)
newtxt = Mid(s, i, 1)
newtxt = Chr(Asc(newtxt)+3)
coded = coded & newtxt
Next
encode = coded
End Function
答案 0 :(得分:1)
Brackets" []"与SendKeys一起使用时没有特殊意义,但是 你必须将它们括在大括号内以适应那些应用程序 确实给它们一个特殊的含义(用于动态数据交换(DDE)) 例子)。
您的编码方法:
>> WScript.Echo Chr(Asc("Z") + 3)
>> WScript.Echo Chr(Asc("X") + 3)
>>
]
[
>>
为Z和X生成括号。
进一步测试后:
令人讨厌的字母不是(大写)X([)和Z(]),而是它们的小写表兄弟:
文档:
要发送大括号字符,请发送字符串参数" {{}"左边 大括号和" {}}"对于正确的人。
证据:
>> set x = WScript.CreateObject("WScript.Shell")
>> x.sendkeys Chr(Asc("z") + 3)
>>
Error Number: 5
Error Description: Invalid procedure call or argument
>> x.sendkeys Chr(Asc("x") + 3)
>>
Error Number: 5
Error Description: Invalid procedure call or argument
>>