0

さて、目的を持ってスクリプトを作成したいと思います:

3{DOWN} キーを押したままにするか、すばやく Z x3 を押して、すべてをループします。

私はループコマンドで作業しようとしましたが、できません.AutoHotkeyと英語は初めてで、母国語ではないので、かなり大変でした.

これは私が試したコードですが、3つの{DOWN}キーの前にZを押すため、期待どおりに機能しませんでした。

#Persistent
SetTimer, Code, 150
Return

Code:
Send, Z{DOWN}
Return

とにかく私がやっていることを改善する方法を知っているなら、F8 のようなトグルを追加してオン/オフを切り替えてください。

助けてくれてありがとう。ヘレナ。

4

1 に答える 1

1

ヘレナ、あなたのスクリプトが現在行っていることは次のとおりです。スクリプトが開始されるとすぐに、[Z] と [Arrow down] を 150 ミリ秒ごとに送信し始めます。これは、その時点で実行されているアプリケーションとは無関係です。送信コードをループさせたい、これのON/OFFを切り替えたいと書いています。

目標に近づく例を次に示します。

#Persistent

F8:: ; This is your [F8] Toggle hotkey
If Toggle:=!Toggle ; Here you "test" the value of the variable "toggle" and after testing switch it to the opposite (true/false)
    SetTimer, Trigger, -1 ; This is to create a separate thread for the loop. -1 means start in 1 ms but only do this one time, not every 1 ms's.
return

Trigger:
While (Toggle)
{
    Send, +z{Down} ; + is the shift key, thus +z makes captial Z
    Sleep, 500 ; Wait 500 ms (1/2 a second)
    Send, +{z Down} ; Press Shift z Down. This will NOT start a repeat like ZZZZZZZZZZZZZZZZ
    Sleep, 500 ; Wait 500 ms (1/2 a second)
    Send, +{z Up} ; Lift Shift z Up
    Sleep, 1 ; Required. Without it The F8 keypress to toggle off can not be read anymore
}
Return
于 2013-05-22T07:18:08.790 に答える