Jump to content

Help with a loop


Recommended Posts

Hi, I'm trying to automate ESET's online virus scanner application. I've created the following code:

Run("health\esetsmartinstaller_enu.exe")
WinWaitActive("Terms of use")
ControlClick("Terms of use", "",107)
ControlClick("Terms of use", "Start",105)
Sleep(1000)
WinWaitActive("ESET Online Scanner")
Sleep(1000)
ControlClick("ESET Online Scanner", "Start",321)
While 1=1
    If WinActive("ESET Online Scanner", "Threats found and cleaned!") Then
        ControlClick("ESET Online Scanner", "Finish", 220)
        ProcessClose("OnlineCmdLineScanner.exe")
        ProcessClose("OnlineScannerApp.exe")
    EndIf
WEnd
;   If WinActive("ESET Online Scanner", "No threats found.") Then
;       ControlClick("ESET Online Scanner", "Finish", 220)
;       ProcessClose("OnlineCmdLineScanner.exe")
;       ProcessClose("OnlineScannerApp.exe")
;   EndIf
MsgBox(0, "Msg", "Message")

this starts the program scanning, but I'm having trouble with what happens after the scan. The window will show one of two results: a window saying 'threats found and cleaned' or one that says 'no threats found'. I've used a loop which works but I need it to work in the event of either window, not just one. Any help please?

Link to comment
Share on other sites

  • Moderators

iisjman07,

Welcome to the AutoIt forum. :)

Use an ElseIf structure like this to look for either result: ;)

Run("health\esetsmartinstaller_enu.exe")
WinWaitActive("Terms of use")
ControlClick("Terms of use", "",107)
ControlClick("Terms of use", "Start",105)
Sleep(1000)
WinWaitActive("ESET Online Scanner")
Sleep(1000)
ControlClick("ESET Online Scanner", "Start",321)
While 1
    If WinActive("ESET Online Scanner", "Threats found and cleaned!") Then
        ControlClick("ESET Online Scanner", "Finish", 220)
        ProcessClose("OnlineCmdLineScanner.exe")
        ProcessClose("OnlineScannerApp.exe")
        $sMsg = "Cleaned"
        ExitLoop
    ElseIf WinActive("ESET Online Scanner", "No threats found.") Then
        ControlClick("ESET Online Scanner", "Finish", 220)
        ProcessClose("OnlineCmdLineScanner.exe")
        ProcessClose("OnlineScannerApp.exe")
        $sMsg = "Nothing Found"
        ExitLoop
    EndIf
WEnd
MsgBox(0, "Msg", $sMsg)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...