Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

Automation of windows application is stopping and need to loop it when it stops

$
0
0

Hi All,

the below script is getting stopped

either   

  FileWriteLine($file,"Error: Cannot Get the Handle of Image")

OR

FileWriteLine($file,"Error: Cannot get Handle of the output Image")

please help me to to loop this til this becomes false.

AutoIt         
#include "InputHeader_BMP.au3" Local $strErrorLogName = 'WINAPP_CurveFitting_Constant_BMP_Win7.txt' Local $strErrorLogPathName = $strErrorLogPath&$strErrorLogName Global $iKernelWidth = '3' Global $iKernelHeight = '3' Global $iLowerThreshold = '200' Global $iUpperThreshold = '250' Global $iMinEllipseRadius = '10' Global $iSleepTime = 500 Global $file = FileOpen($strErrorLogPathName,2) if($file == -1) Then     MsgBox(0, "Error", "Unable to open the file")     Exit EndIf Run($strApplicationPath) For $iOperation = 0 To 3 Step 1     Main($strInputImgPath1k,$strName1k,$strName8bits,$iOperation)     Next Local $strActive = WinActive("WINAPP", "Ready") if @error == 0 Then     Winclose("WINAPP") EndIf Func Main($strInpPath,$strImgName,$strOutPath,$iOperation) Local $reset = 0 Local $reset1 = 0 Local $winapp = WinWait("WINAPP", "Ready") if $winapp == 0 Then     FileWriteLine($file,"Run-WINAPP.exe: Unable to Open WINAPP")     FileWriteLine($file," ") Else     WinActivate($winapp)     FileWriteLine($file,"Run-WINAPP.exe: Application is running")     FileWriteLine($file," ")     If($iOperation == 0)Then         FileWriteLine($file,"::::::::::::::::Ellipse::::::::::::::::")     ElseIf($iOperation == 1)Then         FileWriteLine($file,"::::::::::::::::Circle fit::::::::::::::::")     ElseIf($iOperation == 2)Then         FileWriteLine($file,"::::::::::::::::2nd Order fit::::::::::::::::")     ElseIf($iOperation == 3)Then         FileWriteLine($file,"::::::::::::::::3rd Order fit::::::::::::::::")     EndIf     For $i = 1 to 4 Step 1         Local $str1 = String($i)         Local $str2 = $strImgName         Local $str3 = $str2&$str1         Local $str4 = '.bmp'         Local $str5 = $str3&$str4         $ctrlClk = ControlClick("WINAPP","",59398,"left",1,$iXClickFile,$iYClickFile)         If $ctrlClk == 0 Then             FileWriteLine($file,"Controlclick file failure")              ;CtrlClick()         Else             FileWriteLine($file,"Controlclick File Success")             sleep($iSleepTime)             $ctrlClk1 = ControlClick("WINAPP","",59398,"left",1,$iXClickOpen,$iYClickOpen)             If $ctrlClk1 == 0 Then                 FileWriteLine($file,"Controlclick Open Failure")             Else                 FileWriteLine($file,"Controlclick Open Success")                 Local $winopen = WinWait("Open","")                 if $winopen == 0 Then                     FileWriteLine($file, "Control-Open:   Open Image button Fail")                 Else                     WinActivate ($winopen)                     FileWriteLine($file, "Control-Open:   Open Image button Success")                     sleep($iSleepTime)                     Local $str6 = $strInpPath&$str5                     sleep($iSleepTime)                     Local $strOpenIm1 = ControlSetText("Open", "","Edit1",$str6)                     Sleep($iSleepTime)                     if($strOpenIm1 == 0) Then                         FileWriteLine($file,"Error: Set Image Path Fail")                         sleep($iSleepTime)                         Send("{ESC}")                     Elseif($strOpenIm1 == 1) Then                         FileWriteLine($file,"Set Image1 Path Success")                         send("{Enter}")                         sleep($iSleepTime)                         Local $str7 = 'Warning:  '&$str5&' is already open'                         Local $str8 = $str5&' is ready for the process'                         Local $a2 = WinExists("WINAPP","This Window is already open")                         if $a2 == 1 Then                             FileWriteLine($file,$str7)                             send("{Enter}")                             $reset = 0                         ElseIf $a2 == 0 Then                             $reset = 1                         EndIf                         Local $a11 = WinExists("WINAPP","Unable to load the image.")                         if $a11 == 1 Then                             FileWriteLine($file,"Error: Unable to Load Image")                             send("{ENTER}")                             $reset1 = 0                         Else                             $reset1 = 1                         EndIf                         if(($reset == 1) AND($reset1 == 1)) Then                             Global $winHandle1 = ControlGetHandle("[Active]","","[ID:65280]")                             if @error == 1 Then                                 FileWriteLine($file,"Error: Cannot Get the Handle of Image1")                             Else                                 FileWritELine($file,"Get Handle of Image1 Success")                                 ControlHide("[Active]","","[ID:65280]")                                 CurveFitting($str3,$strOutPath,$iOperation)                             EndIf                         EndIf                         FileWriteLine($file,"")                     EndIf                 EndIf                 WinClose($winHandle1)             EndIf         EndIf         sleep($iSleepTime)     Next EndIf EndFunc Func CurveFitting($str3,$strOutPath,$iType)     Local $strOut =  $strOutputImgPath&$strOutPath&$str3     Local $reset = 0     $ctrlClk2 = ControlClick("WINAPP","",59398,"left",1,$iXClickOperation,$iYClickOperation)     If $ctrlClk2 == 0 Then         FileWriteLine($file,"Controlclick Operation Failure")     Else         FileWriteLine($file,"Controlclick Operation Success")     sleep($iSleepTime)     $ctrlClk3 = ControlClick("WINAPP","",59398,"left",1,$iXClickCurveFitting,$iYClickCurveFitting)     If $ctrlClk3 == 0 Then             FileWriteLine($file,"Controlclick Curve Fitting Failure")         Else             FileWriteLine($file,"Controlclick Curve Fitting Success")     sleep($iSleepTime)     Local $wincurvefitting = WinGetHandle("WINAPP","Curve Fitting")     If @error Then         FileWriteLine($file, "Curve Fitting Menu Not Available")     Else         ControlCommand($wincurvefitting,"", "ComboBox2", "ShowDropDown", "")         sleep($iSleepTime)         ControlCommand($wincurvefitting,"", "ComboBox2",  "SetCurrentSelection", $iType)         If @error == 1 Then             FileWriteLine($file, 'Error: ComboBox2 Fail')         Else             FileWriteLine($file, 'ComboBox2: select input')         EndIf         sleep($iSleepTime)         ControlClick($wincurvefitting,"","ComboBox2")         sleep($iSleepTime)         $strCombo3 = $str3&'.bmp'         Sleep($iSleepTime)         ControlCommand($wincurvefitting,"", "ComboBox3", "ShowDropDown", "")         sleep($iSleepTime)             ControlCommand($wincurvefitting, "", "ComboBox3", "SelectString", $strCombo3)         If @error == 1 Then             FileWriteLine($file, 'Error: ComboBox3 Fail')         Else             FileWriteLine($file, 'ComboBox3: Select Image1 Success')         EndIf         sleep($iSleepTime)         ControlClick($wincurvefitting,"","ComboBox3")         sleep($iSleepTime)         Local $settext = ControlSetText($wincurvefitting,"","Edit1",$iKernelWidth)         if ($settext == 0) Then             FileWriteLine($file,"Error: Set Kernal Width Fail")         Else             FileWriteLine($file,"Set Kernel Width Success")         EndIf         Local $settext = ControlSetText($wincurvefitting,"","Edit2",$iKernelHeight)         if ($settext == 0) Then             FileWriteLine($file,"Error: Set Kernal Height Fail")         Else             FileWriteLine($file,"Set Kernel Height Success")         EndIf         Local $settext = ControlSetText($wincurvefitting,"","Edit3",$iLowerThreshold)         if ($settext == 0) Then             FileWriteLine($file,"Error: Set Lower Threshold Fail")         Else             FileWriteLine($file,"Set Lower Threshold Success")         EndIf         Local $settext = ControlSetText($wincurvefitting,"","Edit4",$iUpperThreshold)         if ($settext == 0) Then             FileWriteLine($file,"Error: Set Upper Threshold Fail")         Else             FileWriteLine($file,"Set upper Threshold Success")         EndIf         If $iOperation == 2 OR $iOperation == 3 Then         Else             Local $settext1 = ControlSetText($wincurvefitting,"","Edit5",$iMinEllipseRadius)             If ($settext1 == 0) Then                 FileWriteLine($file,"Error: Set Min Ellipse Radius Fail")             Else                 FileWriteLine($file,"Set Min Ellipse Radius Success")             EndIf         EndIf     Local $strOk = ControlClick($wincurvefitting,"","Button7")     If $strOk == 0 Then         FileWriteLine($file, 'Error: Click Button7 Fail')     Else         FileWriteLine($file, 'Button7: Click OK Success')     EndIf     sleep($iSleepTime)         If $reset == 0 Then         ControlClick($wincurvefitting,"","Button6")         sleep($iSleepTime)         $ctrlClk4 = ControlClick("WINAPP","",59398,"left",1,$iXClickFile,$iYClickFile)         If $ctrlClk4 == 0 Then             FileWriteLine($file,"Controlclick file failure")         Else             FileWriteLine($file,"Controlclick file success")             sleep($iSleepTime)             $ctrlClk5 = ControlClick("WINAPP","",59398,"left",1,$iXClickSaveAs,$iYClickSaveAs)             If $ctrlClk5 == 0 Then                 FileWriteLine($file,"ControlClick Save failure ")             Else                 FileWriteLine($file,"Controlclick Save Success")                 Local $winsave = WinWait("Save As","")                         if $winsave == 0 Then                        FileWriteLine($file, "Control-SaveAs: Cannot Open Save Window")                         Else             WinActivate($winsave)             FileWriteLine($file, "Control-SaveAs: Open Save Window ")             if($iType == 0) Then                 $strType = '_EllipseFit.bmp'             ElseIf($iType == 1)Then                 $strType = '_CircleFit.bmp'             ElseIf($iType == 2)Then                 $strType = '_2nd order.bmp'             ElseIf($iType == 3)Then                 $strType = '_3rd order.bmp'             EndIf             $strSavePath = $strOut&$strType             Local $strSave = ControlSetText("Save As", "","Edit1",$strSavePath)             Sleep($iSleepTime)             if ($strSave == 0) Then                 FileWriteLine($file, 'Error:SaveAs Fail-Cannot Save Image')             Else                 FileWriteLine($file, 'Save Image success')                 ;ControlClick($winsave,"","Button1") ; Button2 for XP                 ControlClick("SaveAs","",Send("!s"))                 sleep($iSleepTime)                 $winText = ControlGetText("[Active]","","[ID:65280]")                 $OutImageName = 'Saving Image: '& $winText                 FileWriteLine($file,$outImageName)                 Sleep($iSleepTime)                 $winHandle2 = ControlGetHandle("[Active]","","[ID:65280]")                 if @error == 1 Then                     FileWriteLine($file,"Error: Cannot get Handle of the output Image")                 Else                     FileWritELine($file,"Get handle of output image is success")                 EndIf             EndIf             WinClose($winHandle2)             sleep($iSleepTime)             ControlClick($wincurvefitting,"","Button6")             sleep($iSleepTime)             WinClose($winHandle1)         EndIf     EndIf EndIf EndIf EndIf EndIf EndIf EndFunc

Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>