VBScript sendkeys,试图做 CTRL+ALT+A
VBScript sendkeys, Trying to do CTRL+ALT+A
我正在学校董事会测试用于语音合成的 Lexibar 软件。
这种软件是为了帮助有学习困难的同学设计的,所以我需要写一个VBS文件来模拟Ctrl+Alt+A.
我试过了:
- wshshell.sendkeys“^%{a}”
- "^%a"
- "^%{A}"
- "^%A"
- "^(%a)"
- "^(%(a))"
- ...(但没有任何效果)
如果我尝试 wshshell.sendkeys "^%{down}" -> 屏幕旋转但我无法发送 Ctrl+Alt +A.
是否被屏蔽(Ctrl+Alt+Del被屏蔽)
你应该像 ^%{a}
一样使用它。
您可以使用 AppActivate
方法将焦点放在要将击键发送到的应用程序上。
在你的情况下,它应该像 WshShell.AppActivate("MUST BE THE WINDOW YOU NEED TO SEND KEYSTROKES TO")
了解更多关于 SendKeys
here.
我现在使用 powershell,效果很好。
使用 VBS,它工作一次,然后就停止工作了。这是我的代码 运行:
[void][reflection.assembly]::loadwithpartialname("system.windows.forms")
[system.windows.forms.sendkeys]::sendwait("^%a")
我使用 PS2EXE 0.5.1 将脚本转换为 exe (SendKeys.exe),然后我 运行 通过以下代码将其转换为:
Set wshShell = WScript.CreateObject("WScript.Shell")
wshShell.run "C:\Lexibar\SendKeys.exe",0
我需要从 vbs 运行 它以避免 windows 弹出。
我用 Vbs_To_exe 来转换这个,现在它可以工作了。
(转换为.exe只是为了安全,对学生隐藏我的代码)
这些是我用过的命令:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{a}"
有无WshShell.AppActivate
均可使用,由您决定。
这对我很有用。
我正在学校董事会测试用于语音合成的 Lexibar 软件。 这种软件是为了帮助有学习困难的同学设计的,所以我需要写一个VBS文件来模拟Ctrl+Alt+A.
我试过了:
- wshshell.sendkeys“^%{a}”
- "^%a"
- "^%{A}"
- "^%A"
- "^(%a)"
- "^(%(a))"
- ...(但没有任何效果)
如果我尝试 wshshell.sendkeys "^%{down}" -> 屏幕旋转但我无法发送 Ctrl+Alt +A.
是否被屏蔽(Ctrl+Alt+Del被屏蔽)
你应该像 ^%{a}
一样使用它。
您可以使用 AppActivate
方法将焦点放在要将击键发送到的应用程序上。
在你的情况下,它应该像 WshShell.AppActivate("MUST BE THE WINDOW YOU NEED TO SEND KEYSTROKES TO")
了解更多关于 SendKeys
here.
我现在使用 powershell,效果很好。 使用 VBS,它工作一次,然后就停止工作了。这是我的代码 运行:
[void][reflection.assembly]::loadwithpartialname("system.windows.forms")
[system.windows.forms.sendkeys]::sendwait("^%a")
我使用 PS2EXE 0.5.1 将脚本转换为 exe (SendKeys.exe),然后我 运行 通过以下代码将其转换为:
Set wshShell = WScript.CreateObject("WScript.Shell")
wshShell.run "C:\Lexibar\SendKeys.exe",0
我需要从 vbs 运行 它以避免 windows 弹出。 我用 Vbs_To_exe 来转换这个,现在它可以工作了。 (转换为.exe只是为了安全,对学生隐藏我的代码)
这些是我用过的命令:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{a}"
有无WshShell.AppActivate
均可使用,由您决定。
这对我很有用。