2017-06-13 4 views
0

私はマウスを動かさずにコントロールのクリックをシミュレートしようとしていますが、クリックをコントロールするのに問題がありますが、実行すると常にエラーが表示されます。オートホトキーで動作するピクセル検索と一緒にコントロールのクリックが可能ですか?

PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast 
     if(ErrorLevel=0) 
     sleep, 100 
     ControlClick, %X% %Y%, form1, Left, 1 

答えて

2

欠けているものがいくつかあります。

まず、If Statementsは、その下の行のみを実行します。 1行以上のコードがある場合は、中括弧で囲む必要があります。 A Block/Blocking (Multiple Lines of Code Inside Braces)

第2に、ControlClickの構文が間違っています。あなたが座標を渡しているなら、あなたはそれらの前にxとyを置く必要がありますので、controlclickはそれらが座標であることを知ります。

誤:
ControlClick, %X% %Y%

正しい:
ControlClick, x%X% x%Y%

第三に、あなたのコードを見れば、あなたはWinTextが可能になっているLeftを持っています。 ControlClickため
構文:
ControlClick [, Control-or-Position, WinTitle, WinText , WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText]

あなたはAHKはLeftがボタンのためであることを知っていると仮定することはできません。フィールドが空白であることを示すためにカンマを置いてフィールドをスキップするように指示する必要があります。そうすれば、wintextをスキップし、LeftをWhichButtonフィールドとして扱うことがわかります。

誤:
ControlClick, %X% %Y%, form1, Left

正しい:
ControlClick, %X% %Y%, form1,, Left

一緒にすべてを入れて、あなたがこれを持っている:

PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast 
    if (ErrorLevel = 0){ 
     Sleep, 100 
     ControlClick, x%X% y%Y%, form1, , Left, 1 
    } 

は、それはあなたの問題を解決するかどうか私に教えてください。

編集:明らかに、これで問題が解決されませんでした。私はあなたのcontrolclickを賭けるつもりです、あなたが渡している情報が問題です。

CoordModeをスクリプトの冒頭に定義してください。フルスクリーンまたは相対に設定する必要があります。

次に、理由がない限り、WinTitleのウィンドウのタイトルを使用しないでください。 form1の代わりにahk_exe chrome.exeのようなものを使用してください。それははるかに信頼性があります。

#SingleInstance, Force 
CoordMode, Pixel, Screen 
return 

F1:: 
    PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast 
    if (ErrorLevel = 0){ 
     Sleep, 100 
     ControlClick, x%X% y%Y%, ahk_exe yourExeName.exe, , Left, 1 
    } 
return 

どのようなプログラム/サイト/ゲームですか?

+0

ありがとうございます、それは座標でクリックしませんどこpixelsearchの位置は..それは私の現在のマウスの位置をクリックします:( –

関連する問題