我想自动化以下
1)打开RSAToken应用程序
2)模拟按键以输入PIN(例如:在该应用程序中为223344)
3)同时模拟输入PIN时的Enter键击
4)复制生成的密码
我尝试通过引用几篇文章对其进行编码,但它没有用。
以下是代码
Run, "C:\Program Files (x86)\RSA SecurID Software Token\SecurID.exe"
;; 2222 is the PIN Code
Send, 2222
Sleep, 100
Send, {ENTER}
Sleep, 100
Send, ^c
Sleep, 100
有谁能告诉我,我错过了什么?
答案 0 :(得分:1)
首先,您需要等待应用程序在运行后启动。由于我没有申请,我只能提出这样的建议:
WinWaitActive ahk_exe SecurID.exe
然后您需要复制生成的代码。
Ctrl+C
仅在选择代码时才有效,而且可能不是。所以Send ^c
无法工作。
同样,我没有应用程序,但如果它看起来像这样:
您需要将键盘焦点移动到“复制”按钮并使用键盘将其按下。这可以通过
来完成Send {Tab}{Enter}
或只是
Send {Enter}
如果按钮已经是默认按钮。
总的来说,我们有这样的事情:
Run, "C:\Program Files (x86)\RSA SecurID Software Token\SecurID.exe"
; Wait a while for the window to appear and become active.
timeoutSeconds:= 2
WinWaitActive ahk_exe SecurID.exe,, %timeoutSeconds%
if not ErrorLevel {
; The window is now active.
;; 2222 is the PIN Code
Send, 2222 ; Type the PIN code.
Sleep, 100
Send, {ENTER} ; Send the PIN code.
Sleep, 200 ; Wait for the program to generate the passcode.
Send {Tab} ; Move focus to the Copy button; this might not be needed.
Send {Enter} ; Press the Copy button.
Sleep, 100 ; Wait for the copy to happen; often unnecessary.
} else
MsgBox The window did not appear within %timeoutSeconds% seconds.
编写这样的脚本的一般算法是首先仅使用键盘手动执行任务。当你可以做到这一点时,制作一个按下你手动按下的相同键的脚本。