2016-07-01 10 views
-2

私はAutoITを初めて使用しています。私がしようとしているのは、セッションがタイムアウトしないようにマウスを2分ごとに動かすものです。問題は、たとえ自分のコードに構文エラーがなくても、うまくいかず、自分がやりたいことについてチュートリアルをオンラインで見つけることができないように見えることです。次のように私のコードは次のとおりです。変数を宣言する場合にのみ、あなたはglobalキーワードが必要AutoITで3分ごとにアクションを実行

​​

:あなたはSciTEのでスクリプトを実行すると

global $x = 1 
global $y = 1 
If Mod(@MIN, 3) = 0 Then 
    MouseMove (global $x, global $y, 2) 
    global $x++ 
    global $y++ 
endif 

答えて

1

タイムドコールのコールバック機能を実行する方が便利です。

AdlibRegister('_MouseMove', 2000*60) ; calls the function every 2000*60 ms 
OnAutoItExitRegister('_UnRegister') ; unregister the callback function when the script ends 

Func _MouseMove() 
    Local $aPos = MouseGetPos() 
    ; move 1px right and back after a short brake - so that your interface can detect the movement 
    MouseMove($aPos[0]+1, $aPos[1]) 
    Sleep(50) 
    MouseMove($aPos[0], $aPos[1]) 
EndFunc 

Func _UnRegister() 
    AdlibUnRegister('_MouseMove') 
EndFunc 

はところで:AutoItので値を大きくすると、その作品

$x += 1 

編集:あなたは2〜3分をしたい場合、私は、よく分からない (あなたが両方書きました)。したがって、AdlibRegister()のtimeパラメータで変更することができます。間隔はミリ秒で指定する必要があります。

0

次のエラーメッセージが表示されるはずです。変数を使用する場合は、globalキーワードを省略する必要があります。それに応じてスクリプトを変更する必要があります。

0

次のスクリプトは、コンピュータの使用に与える影響を最小限に抑えながら、セッションタイムアウトを防ぐために3分ごとに1ピクセルずつマウスを移動します。

HotKeySet("{ESC}" , "Sair") 

While True 
    MouseMove(MouseGetPos(0)+1,MouseGetPos(1)) 
    Sleep(180000) 
    MouseMove(MouseGetPos(0)-1,MouseGetPos(1)) 
    Sleep(180000) 
WEnd 


Func Sair() 
    Exit 
EndFunc 
+0

コードのみの回答はほとんど価値がなく、悪い回答とみなされるため、このコードがこの問題を解決する理由を説明してください。 – RHA

関連する問題