7

AutoHotKey を使用して、キーのストロークで中断できるようにしたいかなり単純なループ スクリプトがあります。ウェブサイトからいくつかの異なるコードを試しましたが、うまくいかないようです。

コードは次のとおりです。

#g::
Loop 20
{
    MouseClick, left,  142,  542
    Sleep, 1000
    MouseClick, left,  138,  567
    Sleep, 1500
    MouseClick, left,  97,  538 
    Sleep, 1000
}
4

4 に答える 4

2

グローバル変数 (keepCycling) を使用し、それを切り替えてループを中断します。グローバル変数は、スクリプトの先頭で宣言する必要があります。

于 2016-08-07T02:23:41.873 に答える
1

ループが完了するまでに時間がかかるため、グローバル変数を追加するのが最も簡単な解決策かもしれません。

global break_g = 0 

#b::
    break_g = 1 
return


#g::
break_g = 0
Loop 20
{
    MouseClick, left,  142,  542
    Sleep, 1000
    MouseClick, left,  138,  567
    Sleep, 1500
    MouseClick, left,  97,  538 
    Sleep, 1000
    if( break_g = 1)
    {
        return
    }
}
return ; also you were missing this return 
于 2013-04-25T06:03:41.770 に答える
0

グローバル変数の切り替えがその方法です。スクリプトの先頭で宣言する必要があります。

グローバル keep_working = 1 ; スクリプトの先頭でブレークをオフに設定します

b::; keep_working = 0 return でブレークを設定

g::; working を on に設定し、ループを開始します keep_working = 1
Loop, ; b が押されるまでループします (ループ、元のコードでは 20 でした) { MouseClick, left, 142, 542 Sleep, 1000 MouseClick, left, 138, 567 Sleep, 1500 MouseClick, left, 97, 538 Sleep, 1000 if( keep_working = 0 ) { 戻る ; 実行を停止する必要があります } } return ; この区切り文字は、ホットキー手順の最後に必要です。

于 2016-08-02T15:19:15.660 に答える