能否请您帮助我将按键发送至 SAP 表单?我正在使用 AutoHotKey 应用程序。我想通过按下组合键 CTRL+T 发送 CTRL+Tab 以退出文本框窗口(不要问我为什么,这只是一个更复杂问题的示例)。
以下是我测试过的一些代码:
1)
^t::
Sleep 2000
Send, {Control DOWN}{Tab}{Control UP}
Return
或者这个“发送,^{Tab}”或“发送,^+{Tab}”
2)
^t::
Sleep 1000
Send, {Ctrl Down}
Sleep 300
Send, {Tab}
Sleep, 300
Send, {Ctrl Up}
Return
第二种方法有效,但只是有时有效,并且只适用于部分电脑。
答案1
SAP 表单在浏览器中吗?
您还可以尝试SendInput
(或指定 Send 默认使用哪种模式(SendMode Input 或 SendMode Play)。
您还应该能够检查托盘图标并验证按下 ^t 时代码是否按预期执行。如果它执行但没有预期结果,那么您必须查看 AutoHotkey 和程序之间的交互。
#IfWinActive
如果这是更大脚本的一部分,还请检查任何先前的语句。
您所显示的延迟对于故障排除非常有用,但大多数情况下,在解决了有效或无效的问题后,就不再需要它们了。
另一种故障排除方法是在每次延迟之前/之后设置工具提示,并(实时)验证按键是否对程序或表单产生预期效果。这也有助于验证按下热键时脚本是否按预期执行。