我正在我们的课程中测试用于语音合成的Lexibar软件。 这种软件旨在帮助有学习困难的学生,所以我需要写一个模拟 Ctrl + Alt + A 的VBS文件
我试过了:
如果我尝试wshshell.sendkeys“^%{down}” - >屏幕旋转,但我无法发送 Ctrl + Alt + A 。
是否被阻止( Ctrl + Alt + Del 被阻止)。
答案 0 :(得分:0)
您应该像Map
一样使用它。
您可以使用^%{a}
方法将焦点放在要发送击键的应用程序上。
在您的情况下,它应该像AppActivate
详细了解WshShell.AppActivate("MUST BE THE WINDOW YOU NEED TO SEND KEYSTROKES TO")
here.
答案 1 :(得分:0)
我现在使用PowerShell,效果很好。 使用VBS,它工作一次然后停止工作。这是我运行的代码:
document.getElementById('iFrame').contentWindow.document.getElementById('x');
我使用PS2EXE 0.5.1将脚本转换为exe(SendKeys.exe),然后从此代码运行它:
[void][reflection.assembly]::loadwithpartialname("system.windows.forms")
[system.windows.forms.sendkeys]::sendwait("^%a")
我需要从vbs运行它以避免窗口弹出。 我使用Vbs_To_exe来转换这个,现在它可以正常工作。 (转换为.exe仅用于安全,隐藏我的代码)
答案 2 :(得分:0)
这些是我使用的命令:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{a}"
您可以在有或没有WshShell.AppActivate
的情况下使用它,这取决于您。
这对我来说很好。