2017-11-14 6 views
1

現在、GUI内の画像をクリックするためのImageSearch AHKScriptがいくつかあります。このGUIは、複数の画面サイズ(ラップトップ、大型モニター、縦型モニターなど)で使用されます。スクリプトは、各モニタ(100%または125%)間で同じスケーリングが設定されている限り、ラップトップとモニタで問題なく実行されます。私は彼のラップトップでそれらを使用することができるように友人とこれらのスクリプトを共有しようとしたが、画像が見つかりません。私たちは同じ解像度設定(1920x1080)を使用していますが、どちらのラップトップも100%スケーリング設定を使用しています。両方のラップトップは同じメイクであり、非常に似たモデルですが、わずかに異なるグラフィックカードを使用します。 (インテルHDグラフィックス520とインテルHDグラフィックス530)。私は視覚的に自分のモニターと少し違う色の違いを見ることができ、これをできるだけ近くで調整しようとしましたが、これらの変更は画像検索のパフォーマンスには影響していないようです。私たちはICMカラープロファイルファイルを別のラップトップからコピーしようとしましたが、まだ運がありません。誰かが気づいているワークラウンドがあるので、これらのスクリプトを使用する各ディスプレイからイメージを実装する必要はありませんか?私は* 50- * 200の "* Nバリエーション"のパラメータを使って遊んだことがあります。すべての提案は大変ありがとうございます。ありがとうございます。ImageSearchが別のディスプレイで動作しない

' 
IfWinExist, GUI 
{  
    WinActivate ; Automatically uses the window found above. 

ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\UsersIcon.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 

Sleep, 3500 

ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\ChangeUserIcon.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 

Sleep, 500 

ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\Administrator.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 

Sleep, 100 

ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\LogIn1.png 
if (!errorlevel){ 
Click %foundX%, %foundY%, 1 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 



ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\LogIn2.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 



ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\LogIn3.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 


ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\LogIn4.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 


Send {WheelDown 5} 

Sleep, 500 

ImageSearch, foundX, foundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\\..\Images\Accept.png 
if (!errorlevel){ 
Click %foundX%, %foundY% 
}else if (ErrorLevel == 1){ 
MsgBox, Image cannot be found 
}else{ 
MsgBox, Cannot Conduct Search 
} 
Send {WheelUp 3} 
} 




ExitApp 

esc::ExitApp 
' 

答えて

0

あなたは今、あなたはこれらの値の計算と手動配置しようとすることができ、両方の解像度場合A_ScreenWidthまたはA_ScreenHeightは常に、[複数のモニタ]上で動作しない - の例では、(3840に+ 1920 1920 1及び2 -replace A_ScreenWidthを監視= 3840)[または/および] A_ScreenHeightを2160(1080 + 1080)に置き換えてください。たとえば、アンチエイリアスを無効にするなど、NVIDIAコントロールパネルの3D設定を変更してみてください。 (それを比較し、あなたの友人があなたのような設定を持っているかどうかを見てください)

+0

ありがとう、ImageSearchのパフォーマンスを変更せずに提案したように、幅と高さのパラメータを変更しようとしました。また、NVIDIAコントロールパネルの設定も同じであるようです。 – StevieP

+0

1 - 幅と高さのパラメータは何ですか?** x3840 y1080 **または** x1920 y2160 ** - 2 - アンチエイリアスを無効にしようとしましたか?3 - 同じ例がありますか?Windows 10 64/32bitシステム4 - そして、同じHDMI/DVI/DISPLAYケーブルをSecond Monitorに接続していますか?あなたは私のモニターに比べてモニターにわずかな色の違いがあると言いましたが、ドライバーは違う作業をすることができます。 – stevecody

+0

1.私たちは、x3840 y1080とx1920 y2160を使用しています。 2.両方のシステムが32ビットシステムです。4.現在、私たちはノートパソコンから、外部モニタを使用する前にこれらのスクリーンを動作させています。 – StevieP

関連する問題