Jump to content

1 Screenshot

About This File

Use MouseClick()  need:

#RequireAdmin

 

Dll is already integrated in UDF !

; #INDEX# ===============================================================
; Title .........: ImageSearch
; AutoIt Version : 3.x
; Language ......: English
; Description ...: Check image Appears or Not and Return the position of an image on the desktop
; Author(s) .....: Dao Van Trong - TRONG.LIVE
; =======================================================================

; #CURRENT# =============================================================
; _ImageSearch
; _ImageSearch_Area
; _ImageSearch_Wait
; _ImageSearch_WaitArea
; ========================================================================

;=========================================================================
;
; Author:...........: AutoIT VietNam : Dao Van Trong - TRONG.LIVE
; Description:......: Check image Appears or Not
;                     Find and return the position of an image on the desktop
; Syntax:........... _ImageSearch_Area, _ImageSearch
; Parameter(s):..... $_ImagePath:       The image to locate on the desktop
;                                       May be a list of image by delimited by "|"
;                                       i.e: $_ImagePath = "image1.bmp|image2.bmp|image3.bmp"
; $P_x1 $P_y1:                      Position of 1st point
; $P_x2 $P_y2:                      Position of 2nd point - Default is last botton right of desktop
; $_Tolerance:                      0 for no tolerance (0-255). Needed when colors of image differ from desktop. e.g GIF
;                   $_CenterPos:                        boolen. True will return $array[1] x $array[2] is center of image found.
;                                                           False will return top-left position
; Return Value(s):.. Return an array has 3 item
;                    On Success:                    $array[0] 1
; On Failure:                   $array[0] 0
;                    DLL not found or other error:  $array[0] -1
;                    $array[1] x $array[2]:             position of image what found on desktop
;
; Note:............. Use _ImageSearch to search the entire desktop
;                    _ImageSearch_Area to specify a desktop region to search
;                    $_ImagePath with more item need more time appear on screen before function can detect.
;                    Decrease sleep time in the loop to detect faster. But less performance. I.e CPULoad increased
;
;========================================================================

EG 1:

;~ Opt("MustDeclareVars", 1)
;~ #AutoIt3Wrapper_UseX64=y
;~ #AutoIt3Wrapper_Change2CUI=y
#RequireAdmin

#include "_ImageSearch_UDF.au3"

HotKeySet("{Esc}", "_Exit") ; Press ESC for exit
Func _Exit()
    Exit 0
EndFunc   ;==>_Exit

Global Const $Ask_On_Found = 0
Global Const $Mouse_Move_On_Found = 1
Global Const $Mouse_Click_On_Found = 0

Global Const $iSleep_Time=500

Global $sCount = 0, $_Image_1 = @ScriptDir & "\example.bmp"

; First, use this function to create a file bmp, maybe a desktop icon for example')
MsgBox(64 + 262144, 'ImageSearch', 'At first, create a file bmp,' & @CRLF & 'photos that will search on the screen!')
_ImageSearch_Create_BMP($_Image_1)

ConsoleWrite("! Search for images: " & $_Image_1 & @CRLF & '! Searching on the screen ...' & @CRLF)

While 1
    ToolTip('(Press ESC for EXIT) Searching ...', 1, 1)
    Sleep($iSleep_Time)
    $sCount += 1
    Local $return = _ImageSearch($_Image_1)
    If $return[0] = 1 Then
        ConsoleWrite('- [' & $sCount & '] Image found:' & " X=" & $return[1] & " Y=" & $return[2] & @CRLF)
        If $Mouse_Move_On_Found Then
            MouseMove($return[1], $return[2])
            Sleep($iSleep_Time)
        EndIf
        If $Mouse_Click_On_Found Then MouseClick("left", $return[1], $return[2])
        ToolTip('(Press ESC for EXIT) - [' & $sCount & "] Image found:" &  " X=" & $return[1] & " Y=" & $return[2], 1, 1)
        If $Ask_On_Found Then
            Local $ask = MsgBox(6 + 262144, 'Success [' & $sCount & ']', 'Image found:' & " X=" & $return[1] & " Y=" & $return[2])
            If $ask = 2 Or $ask = 3 Or $ask = 5 Or $ask = 7 Then Exit ;No, Abort, Cancel, and Ignore
            If $ask = 10 Then _ImageSearch_Create_BMP($_Image_1) ; Continue       ;Try Again
        EndIf
    EndIf
    Sleep(200)
WEnd

 

Video demo:

 

 

[+] When any problem or error occurs, please make sure that:
- Downloaded and used the latest version.
- Set screen Screen Scale and layout = 100%
- Installed display driver.
- Tried turning off the antivirus
- Full installation: Microsoft Visual C++ Redistributable  2005->2022

[+] You can download the AIO version of the Visual C++ Redistributable here: 

-> https://www.mediafire.com/file/0ak8dcj9mdn7nyq/VisualCppRedist_AIO_2005-2022_x86_x64_%5Btrong.live%5D.zip/file

-> FOR Windows XP: https://www.mediafire.com/file/5m5lnr1kfg73tc9/VisualCppRedist_AIO_2005-2019_x86_XP_%5Btrong.live%5D.zip/file

<!> Password for Extract: trong.live

 

[+] The last full version of SCITE4AutoIT supports windows XP:

https://www.autoitscript.com/autoit3/scite/download/archive/v19.1127.1402.0-SciTE4AutoIt3.exe

 

Edited by VIP
link Visual C++ Redistributable


What's New in Version 2021.8.30.2

Released

Fixed variable error.


User Feedback

You may only provide a review once you have downloaded the file.


Y3llo

   5 of 5 members found this review helpful 5 / 5 members

It works perfectly, thanks a lot !

×
×
  • Create New...