DeathChicken

Please explain how this works

2 posts in this topic

If possible please add or edit the comments to explain how this works.

 

;includes functions from other things
#include <GDIPlus.au3>
#include <ScreenCapture.au3>

;hotkeys
HotKeySet("{ESC}", _exit)
HotKeySet("{F1}", _scan)

;global variables
Global $win_title                    ;name of the window
Global $area_x                        ;
Global $area_y                        ;
Global $area_w                       ;
Global $area_h                        ;
Global $cursor                         ;
Global $rect_file                      ;
Global $hbmpscreen              ;
Global $i=  1043                      ;moves the rect
Global $ii=    378                      ;moves the rect
Global $x=1044                        ;inner rect offset
Global $y=501                          ;inner rect offset
Global $hbmprect                    ;image inside rect
Global $hscreen                        ;image whole screen
                                   
_GDIPlus_Startup()                    ;?

;display hotkeys on screen
ToolTip("Press F1 to scan | Press ESC to Exit",0,0)

                                    ;infinite loop to keep prog running
While 1
    Sleep(100)
WEnd

Func _scan()
;~ reads your screen area:
_read()
;~ converts screen captured into bmp
_convert()
;~ .  Loads converted bmp to be read
_loadBMP()
;~ compares the bmp of your scanned screen to the actual screen that is being displayed
_compare()
EndFunc
                                    ;reads screen
Func _read()
    $hscreen = _ScreenCapture_CaptureWnd("", WinGetHandle($win_title), $area_x, $area_y, $area_x + $area_w, $area_y + $area_h, $cursor)
EndFunc
                                    ;converts screen into bmp
Func _convert()
    _GDIPlus_BitmapCreateFromHBITMAP($hscreen)
EndFunc
                                    ;loads converted screen
Func _loadBMP()
_GDIPlus_BitmapCreateFromFile($rect_file)
EndFunc
                                    ;compares savedBMP to current screen
Func _compare()
;If(                              below code                                     ) = (                   below code           ) Then
If _GDIPlus_BitmapGetPixel($hbmpscreen, ($i + $x) - $area_x, ($ii + $y) - $area_y) = _GDIPlus_BitmapGetPixel($hbmprect, $x, $y) Then
;display message box titled found with a message of found
MsgBox("","","found")
;if above is not correct then

EndIf
EndFunc
                                    ;exit func
Func _exit()
    Exit
EndFunc

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • dadalt95
      By dadalt95
      Perform a simple google search!
      The script below works fine until fill the google form!
      What I can't find is how to submit the form, tried a couple of ways and none of them worked.

       
      #include <IE.au3> $oIE = _IECreate ("www.google.com") $o_form = _IEFormGetObjByName ($oIE, "f") $o_login = _IEFormElementGetObjByName ($o_form, "q") $username = "80251369" _IEFormElementSetValue ($o_login, $username) $o_numer = _IEGetObjByName($o_form, "btnK") _IEAction ($o_numer, "click")  
      The code runs without any problem.
      I don't know how to proceed!
      Thanks in advance!
    • nacerbaaziz
      By nacerbaaziz
      Hi dears
      how are you? I hope You fine
      I have a question please
      I've created a listView
      It has several columns
      Is there any way  to search for text in an element of this list with text in all columns
      for example
      list view with 2 column
      the first is the file name and the second is the file path
      and i want to search for the item witch Containt the name and the path toGether
      I searched a lot but could not find what I was looking for
      If you do not understand the idea that I'm looking for, I can put an example
      Thanks in advance
    • KING_NK
      By KING_NK
      Added Image...I am trying to work out Imagesearch but Its not working perfectly.After pressing Hotkey,Mouse not moving to targeted picture.I tried so hard but still not working.So i post here,need help

    • fatpig
      By fatpig
      Dear AutoIT Community.
      I am currently working on a program that will display lots of images in a scroll down GUI.
      I create the GUI based on the number of images, which works fine.
      But all images I place using GuiCtrlCreatePic above a threshold of around 32000 pixels (cant say exactly) are placed at negative locations and finally will reach 0 again
      and will then populate on top of the images placed there before.
      For $i = 1 To $Images[0] ; Get picture dimensions $hImage = _GDIPlus_ImageLoadFromFile($ImgRep & $Images[$i]) $iX = _GDIPlus_ImageGetWidth($hImage) $iY = _GDIPlus_ImageGetHeight($hImage) _GDIPlus_ImageDispose($hImage) ; Resize & place images in GUI $Pic[$i] = GUICtrlCreatePic($ImgRep & $Images[$i], $Spacer, Round($yPos, 0), $MaxImgWidth, $MaxImgWidth * ($iY / $iX)) $yPos = $yPos + $MaxImgWidth * ($iY / $iX) + $Spacer $log = $log & "|" & $yPos $currentlut = $Images[1] Next I have found a limit at 32767 pixels for some GUI elements when googling around.
      Can someone tell me how to circumvent that?
      thanks!
      cheers
      Felix
    • Gowrisankar
      By Gowrisankar
      Hello everyone,
      I'm working on a task where, a PDF file is opened (in IE browser) when I click a link in a website.
      I have to read the first page of the PDF to find particular strings. Can you please share some ideas?