在 VBScript 中使用 SendKeys 发送 () 字符时出错

问题描述 投票:0回答:1

当我尝试在脚本中使用 SendKeys 发送括号字符时,出现以下错误。

无效的过程调用或参数

我的脚本:

Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 100
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Documents and Settings\Administrator\Desktop\readme.txt", 1)
Wshshell.SendKeys "!@#$%^&*()"
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)
    
    WshShell.SendKeys strCharacters
Loop

当我尝试在循环之前发送

(
)
时,它不会发送它们,但没有显示错误并继续,直到遇到另一个
(
字符并因错误而停止。

vbscript special-characters
1个回答
4
投票

括号被认为是特殊字符,需要用大括号括起来。请参阅此链接了解更多详情。

Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 100
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Documents and Settings\Administrator\Desktop\readme.txt", 1)
Wshshell.SendKeys "!@#$%^&*{(}{)}"
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)

    WshShell.SendKeys strCharacters
Loop
© www.soinside.com 2019 - 2024. All rights reserved.