AutoHotkeyを使用して面倒な作業を自動化して時間を節約する方法
あなたはあなたのPCで何度も何度も同じマインドレスなタスクを実行する必要がありましたか?ボタンをクリックしてキーを押す時間を無駄にする代わりに、これはあなたのPCがあなたのために仕事をするようにするためにあなたのオートホットキーのスキルを使うのに最適な時間です.
注意: この特定の例は、私が以前に少量の時間を節約するために使用した実際のものですが、これらは長年にわたって文字通り自分の日数の時間を節約するために何度も使用した手法です。.
シナリオ
私たちのEメールニュースレターのアカウントで誤ったブロードキャストメッセージを調べて削除しようとしていたところ、そのインターフェイスでは手動で[削除]ボタンをクリックしてからメッセージごとに確認する必要がありました。削除する必要がある誤ったメッセージ。さらに悪いことに、インターフェイスは非常に遅いです、それは私がちょうど私の手根管をクリックしてさらに悪化させるだけで良い30-40分を費やしたであろうことを意味します.
その代わりに、私は新しいAutoHotkeyスクリプトを作成し、すぐに自分の仕事をするためのスクリプトを作成しました。.
最初のステップは自動化するために必要なクリックとキーを正確に識別することでした - 明らかに最初のステップはこのAjax確認ダイアログを表示するXボタンをクリックすることです:
幸いなことにDeleteボタンは自動的にハイライトされているので、Spaceキーを押すだけで確認できます。レコードが削除されると、行が存在しなかったかのようにすべてがスライドします。これを知って、Xボタンをクリックし、確認ダイアログを3秒間待ってからスペースバーを押し、そして行が消えるまでさらに3秒間待つスクリプトを作成します。.
スクリプトを作成する
最初にやるべきことは、同じアクションを何度も繰り返すループを作成することです。この場合、これを300回繰り返す必要があると見積もっているので、ループを使用します。このような構文:
ループ300
今度はクリックアクションを自動化する必要があります。これはAutoHotkeyでは簡単です。 クリック. 必要に応じて、より高度なクリック構文を使用することも、画面上でクリックする場所を正確に選択することも、ボタンクリックを選択することもできます。私達の目的のために、私達はこれを私達に残すデフォルトを使用することになるでしょう:
ループ300
クリック
スクリプトは300回続けてクリックしますが、残念ながら対処するための確認ダイアログが表示されているので、送信機能を使用してスペースバーのキーストロークをアクティブなウィンドウに送信します。.
ループ300
クリック
送る、スペース
ドキュメントを見ると、特殊キーのすべての構文が表示されます。たとえば、通常のキー入力は通常どおりに入力できます。 テスト そしてスペースで終わらせてください、あなたはこれを使うでしょう:
送信、テストSpace
そのため、ボタンをクリックしてからスペースバーを押すスクリプトがあります。これは、インターフェイスが遅いことを除けば大丈夫です。そのため、click関数とsend関数を実行するたびに少し休止する必要があります。これを実現するために、1つの引数(ミリ秒単位の遅延)のみを取るSleep関数を使用します。.
ループ300
眠り3000
クリック
眠り3000
送る、スペース
これで、アイテムを正常に削除し、開始する3秒前にマウスカーソルを最初のXの上に移動してボタンをクリックし、3秒待ってからスペースバーを押してから3秒待つことができるスクリプトができました。次のセットに進むまでの秒数。あなたが望むなら、あなたは今この簡単なスクリプトを使うことができます - しかし、あなたがスクリプトを止めたいとしたらどうなりますか?
GetKeyState関数を使用して、特定のキーテストにヒットしたかどうかを確認します。F8キーを使用して、ループの途中に次のコードを追加します。これはF8キーが押されたかどうかを検出し、そしてbreakを使ってループを抜けます.
GetKeyState、状態、F8
state = Dの場合
ブレーク
最後のスクリプト
これは私のシナリオに固有のものであるため、あまり役に立ちません。ただし、クリックとキーストロークの送信を変更するだけで、独自のスクリプトを作成できます。.
ループ300
GetKeyState、状態、F8
state = Dの場合
ブレーク
眠り3000
クリック
眠り3000
送る、スペース
戻る
これが実際にどのように機能するのかを説明するために、実際に動作していることを示す簡単なビデオを次に示します。
この特定のシナリオでは、作業時間を節約するのに3分かかりました:27分。ビデオを録画してこの記事を書くのに十分な時間!