如何自动化,打开RSAToken应用程序并模拟击键并使用AutoHotKey按Enter键

时间:2018-01-28 18:52:35

标签: automation autohotkey

我想自动化以下

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

有谁能告诉我,我错过了什么?

1 个答案:

答案 0 :(得分:1)

首先,您需要等待应用程序在运行后启动。由于我没有申请,我只能提出这样的建议:

WinWaitActive ahk_exe SecurID.exe

然后您需要复制生成的代码。

Ctrl+C仅在选择代码时才有效,而且可能不是。所以Send ^c无法工作。

同样,我没有应用程序,但如果它看起来像这样:

dialog

您需要将键盘焦点移动到“复制”按钮并使用键盘将其按下。这可以通过

来完成
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.

编写这样的脚本的一般算法是首先仅使用键盘手动执行任务。当你可以做到这一点时,制作一个按下你手动按下的相同键的脚本。