AutoIt
#include "InputHeader_BMP.au3" Local $strErrorLogName = 'winapp_ArithImageConstCombined_BMP.txt' Local $strErrorLogPathName = $strErrorLogPath&$strErrorLogName Global $strConst = '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 15 Step 1 Main($strInputImgPath1k,$strName1k,$strName8bits,$iOperation) Main($strInputImgPath2k,$strName2k,$strName8bits,$iOperation) Main($strInputImgPath4k,$strName4k,$strName8bits,$iOperation) Main($strInputImgPath10,$strName10,$strName8bits,$iOperation) Main($strInputImgPath512,$strName512,$strName8bits,$iOperation) Main($strInputColorImgPath1k,$strName1k,$strNameColor,$iOperation) Main($strInputColorImgPath2k,$strName2k,$strNameColor,$iOperation) Main($strInputColorImgPath4k,$strName4k,$strNameColor,$iOperation) Main($strInputColorImgPath10,$strName10,$strNameColor,$iOperation) Main($strInputColorImgPath512,$strName512,$strNameColor,$iOperation) Next #cs Local $strActive = WinActive("winapp", "Ready") if @error == 0 Then Winclose("winapp") EndIf #ce Func Main($strInpPath,$strImgName,$strOutPath,$iOperation) Local $reset = 0; Local $reset1 = 0; ;Local $a = WinWaitActive("winapp", "Ready") Local $a = WinWait("winapp", "Ready") if $a == 0 Then FileWriteLine($file,"Run-winapp.exe: Unable to Open winapp") FileWriteLine($file," ") Else WinActivate($a) FileWriteLine($file,"Run-winapp.exe: Application is running") FileWriteLine($file," ") If($iOperation == 0) Then FileWriteLine($file,":::::::::::::ARITHMETIC ADDITION:::::::::::::") ElseIf($iOperation == 1) Then FileWriteLine($file,":::::::::::::ARITHMETIC SUBTRACTION:::::::::::::") Elseif($iOperation == 2) Then FileWriteLine($file,":::::::::::::ARITHMETIC MULTIPLICATION:::::::::::::") ElseIf($iOperation == 3) Then FileWriteLine($file,":::::::::::::ARITHMETIC DIVISION:::::::::::::") ElseIf($iOperation == 4) Then FileWriteLine($file,":::::::::::::ROTATE LEFT:::::::::::::") ElseIf($iOperation == 5) Then FileWriteLine($file,":::::::::::::ROTATE RIGHT:::::::::::::") ElseIf($iOperation == 6) Then FileWriteLine($file,":::::::::::::SHIFT LEFT:::::::::::::") ElseIf($iOperation == 7) Then FileWriteLine($file,":::::::::::::SHIFT RIGHT:::::::::::::") ElseIf($iOperation == 8) Then FileWriteLine($file,":::::::::::::LESS THAN:::::::::::::") ElseIf($iOperation == 9) Then FileWriteLine($file,":::::::::::::LESS THAN AND EQUAL TO:::::::::::::") ElseIf($iOperation == 10) Then FileWriteLine($file,":::::::::::::EQUAL TO:::::::::::::") ElseIf($iOperation == 11) Then FileWriteLine($file,":::::::::::::NOT EQUAL TO:::::::::::::") ElseIf($iOperation == 12) Then FileWriteLine($file,":::::::::::::GREATER THAN:::::::::::::") ElseIf($iOperation == 13) Then FileWriteLine($file,":::::::::::::GREATER THAN EQUAL TO:::::::::::::") ElseIf($iOperation == 14) Then FileWriteLine($file,":::::::::::::COMPUTE MAXIMUM:::::::::::::") ElseIf($iOperation == 15) Then FileWriteLine($file,":::::::::::::COMPUTE MINIMUM:::::::::::::") 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 $a1 = WinWait("Open","") if $a1 == 0 Then FileWriteLine($file, "Control-Open: Open Image button Fail") Else WinActivate($a1) FileWriteLine($file, "Control-Open: Open Image button Success") sleep($iSleepTime) Local $str6 = $strInpPath&$str5 ;$strOpenHandle = WinGetHandle("Open") sleep($iSleepTime) Local $strOpenIm1 = ControlSetText("Open", "","Edit1",$str6) ;FileWriteLine($file,$str6) 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 ;FileWriteLine($file,$str8) $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 Local $var = ControlGetText( "[Active]", "", "[ID:65280]" ) $process = 'Processing Image: '&$var FileWriteLine($file,$process) Global $iHandle1 = ControlGetHandle("[Active]","","[ID:65280]") if(@error == 1) Then FileWriteLine($file,"Cannot Get Handle") Else ControlHide("[Active]","","[ID:65280]") ArithmeticOperation($str3,$strOutPath,$iOperation) EndIf EndIf FileWriteLine($file,"") EndIf EndIf EndIf EndIf Winclose($iHandle1) Next EndIf EndFunc Func CtrlClick() Local $ctrlClk = 0 While ($ctrlClk <> 1) $ctrlClk = ControlClick("winapp","",59398,"left",1,$iXClickFile,$iYClickFile) FileWriteLine($file,$ctrlClk) WEnd EndFunc Func ArithmeticOperation($str3,$strOutPath,$iType) Local $strOut = $strOutputImgPath&$strOutPath&$str3 Local $reset = 1 $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,$iXClickArithmetic,$iYClickArithmetic) If $ctrlClk3 == 0 Then FileWriteLine($file,"ControlClick Arthematic Operation Failure") Else FileWriteLine($file,"ControlClick Arithmetic Operation Sucess") sleep($iSleepTime) Local $winArithmetic = WinGetHandle("winapp","Arithmetic Operations") If @error Then FileWriteLine($file, "Arithmetic Operations Menu Not Available") Else $strCombo3 = $str3&'.bmp' ControlCommand($winArithmetic, "", "ComboBox2", "SetCurrentSelection", $iType) if @error == 1 Then FileWriteLine($file,'Error: ComboBox2 Fail') Else FileWriteLine($file,'ComboBox2: Select Add Success') EndIf Sleep($iSleepTime) ControlCommand($winArithmetic,"", "ComboBox3", "ShowDropDown", "") sleep($iSleepTime) ;ControlCommand($winArithmetic,"", "ComboBox3", "SetCurrentSelection", 0) ControlCommand($winArithmetic, "", "ComboBox3", "SelectString", $strCombo3) If @error == 1 Then FileWriteLine($file, 'Error: ComboBox3 Fail') Else FileWriteLine($file, 'ComboBox3: Select Image1 Success') ControlClick($winArithmetic,"","ComboBox3") ;sleep($iSleepTime) EndIf Local $strbuttoncheck = ControlCommand($winArithmetic,"","Button11","IsChecked", "") if ($strbuttoncheck == 1) Then FileWriteLine($file, "Check Box is already checked") Local $setText = ControlSetText($winArithmetic,"","Edit1",$strConst) if ($setText == 0) Then FileWriteLine($file,"Error: Set Constant value Fail") Else FileWriteLine($file,"Set Constant Value Success") EndIf Else ControlCommand($winArithmetic,"", "Button11", "Check", "") sleep($iSleepTime) if (@error == 1)Then FileWriteLine($file,"Error: Check Button Fail") Else FileWriteLine($file,"Check Buttton Pass") Local $setText = ControlSetText($winArithmetic,"","Edit1",$strConst) if ($setText == 0) Then FileWriteLine($file,"Error: Set Constant value Fail") Else FileWriteLine($file,"Set Constant Value Success") EndIf EndIf EndIf ControlCommand($winArithmetic,"", "ComboBox5", "ShowDropDown", "") sleep($iSleepTime) ControlCommand($winArithmetic,"", "ComboBox5","SelectString", 'NewImage') If @error == 1 Then FileWriteLine($file, 'Error: ComboBox5 Fail') Else FileWriteLine($file, 'ComboBox5: Select OutputImage Success') ControlClick($winArithmetic,"","ComboBox5") sleep($iSleepTime) EndIf Local $strOk = ControlClick($winArithmetic,"","Button7") If $strOk == 0 Then FileWriteLine($file, 'Error: Click Button7 Fail') Else FileWriteLine($file, 'Button7: Click OK Success') sleep($iSleepTime) Local $strWarnOut = WinExists("winapp","Please select input image.") if ($strWarnOut == 1) Then FileWriteLine($file,"Warning: Select Input Image") ;send("{ENTER}") ControlClick("winapp","","Button1") sleep($iSleepTime) ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) ;MouseClick("Left",731,168,1) ;sleep($iSleepTime) $reset = 0 EndIf Local $strWarnOut1 = WinExists("winapp", "Please select output.") if ($strWarnOut1 == 1) Then FileWriteLine($file,"Warning: Select Output Image") ControlClick("winapp","","Button1") ;send("{ENTER}") sleep($iSleepTime) ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) ;sleep($iSleepTime) $reset = 0 EndIf Local $strWarnOut2 = Winexists("winapp","Operation failed") if($strWarnOut2 == 1) Then FileWriteLine($file,"Error: Operation Failed") ControlClick("winapp","","Button1") ;send("{ENTER}") sleep($iSleepTime) ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) ;MouseClick("Left",731,168,1) ;sleep($iSleepTime) $reset = 0 EndIf Local $strWarnOut3 = WinExists("winapp","Provide a valid Constant Value. Valid Range is 0-65536.") if($strWarnOut3 == 1) Then FileWriteLine($file,"Warning: Enter a Valid Constant") ;send("{ENTER}") ControlClick("winapp","","Button1") sleep($iSleepTime) ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) $reset = 0 EndIf Local $strWarnOut4 = WinExists("winapp","Provide a valid Constant Value. Valid Range is 0.0 - 255.0") if($strWarnOut4 == 1) Then FileWriteLine($file,"Warning: Enter a Valid Constant") ;send("{ENTER}") ControlClick("winapp","","Button1") sleep($iSleepTime) ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) $reset = 0 EndIf Local $strWarnOut5 = WinExists("winapp", "Image data is null.") if ($strWarnOut5 == 1) Then FileWriteLine($file,"Warning:Image data is null.") ;send("{ENTER}") ControlClick("winapp","","Button1") $winHandle2 = ControlGetHandle("[Active]","","[ID:65281]") if @error == 1 Then FileWriteLine($file,"Error: Cannot Get the Handle of Image1") Else FileWritELine($file,"Get Handle of nullImage Success") Sleep($iSleepTime) $x = WinClose($winHandle2) If ($x == 1) Then FileWriteLine($file,"Pass") Else FileWriteLine($file,"Fail") EndIf EndIf ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) $reset = 0 EndIf Local $strWarnOut6 = WinExists("winapp", "Unable to save image") if ($strWarnOut6 == 1) Then FileWriteLine($file,"Warning:Unable to save image") ;send("{ENTER}") ControlClick("winapp","","Button1") sleep($iSleepTime) ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) WinClose($iHandle1) sleep($iSleepTime) $reset = 0 EndIf Local $strWarnOut7 = WinExists("winapp", "Encountered an improper argument.") if ($strWarnOut7 == 1) Then FileWriteLine($file,"Warning:Encountered an improper argument.") ;send("{ENTER}") ControlClick("winapp","","Button1") sleep($iSleepTime) $reset = 0 EndIf Local $WarnOut8 = WinExists("winapp","Unsupported image format or image load failed") if($WarnOut8 == 1) Then FileWriteLine($file,"Warning:Unsupported image format or image load failed") Local $warnOk4 = ControlClick("winapp","Unsupported image format or image load failed","Button1") if $warnOk4 == 1 Then FileWriteLine($file,"Click Ok: Success") Sleep($iSleepTime) Else FileWriteLine($file,"Warning: Click Ok Fail") EndIf $reset = 0 EndIf ControlClick($winArithmetic,"","Button6") sleep($iSleepTime) If $reset == 1 Then 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") sleep($iSleepTime) Local $winSaveAs = WinWait("Save As","") if $winSaveAs == 0 Then FileWriteLine($file, "Control-SaveAs: Cannot Open Save Window") Else WinActivate($winSaveAs) FileWriteLine($file, "Control-SaveAs: Open Save Window ") if($iType == 0) Then $strType = '_Add.bmp' Elseif ($iType == 1) Then $strType = '_Sub.bmp' Elseif ($iType == 2) Then $strType = '_Mul.bmp' Elseif ($iType == 3) Then $strType = '_Div.bmp' Elseif ($iType == 4) Then $strType = '_RotateLeft.bmp' Elseif ($iType == 5) Then $strType = '_RotateRight.bmp' Elseif ($iType == 6) Then $strType = '_ShiftLeft.bmp' Elseif ($iType == 7) Then $strType = '_ShiftRight.bmp' Elseif ($iType == 8) Then $strType = '_LessThan.bmp' Elseif ($iType == 9) Then $strType = '_LessThanEqualTo.bmp' Elseif ($iType == 10) Then $strType = '_EqualTo.bmp' Elseif ($iType == 11) Then $strType = '_NotEqualTo.bmp' Elseif ($iType == 12) Then $strType = '_GreaterThan.bmp' Elseif ($iType == 13) Then $strType = '_GreaterThanEqualto.bmp' Elseif ($iType == 14) Then $strType = '_ComputeMaximum.bmp' Elseif ($iType == 15) Then $strType = '_ComputeMinimum.bmp' EndIf ;$strSave = $str3&'_const_'&$strConst&$strType $strSaveimagename = $str3&'_const_'&$strConst&$strType $strSave = $strOut&'_const_'&$strConst&$strType ;$strSavePath = $strOutPath&$strSave $strSavePath = $strSave Local $strSave = ControlSetText("Save As", "","Edit1",$strSavePath) if ($strSave == 0) Then FileWriteLine($file, 'Error:SaveAs Fail-Cannot Save Image') Else FileWriteLine($file, 'Save Image success') sleep($iSleepTime) ;ControlClick($winSaveAs,"","Button1") ControlClick("SaveAs","",Send("!s")) sleep($iSleepTime) Local $var3 = ControlGetText( "[ACTIVE]","", "[ID:65280]" ) $process2 = 'Output Image: '&$var3 FileWriteLine($file,$process2) Global $iHandle3 = ControlGetHandle($strSaveimagename,"","") ;Global $iHandle3 = ControlGetHandle("[ACTIVE]","","[ID:65280]") if(@error == 1) Then FileWriteLine($file,"Cannot Get Handle") Sleep($iSleepTime) Local $i = 0 While($i < 2) $GetHandle = ControlGetHandle("[ACTIVE]","","[ID:65280]") if(@error == 1)Then FileWriteLine($file,"Cannot Get Handle"&$i) WinClose($GetHandle) EndIf WEnd Else WinClose($iHandle3) Sleep($iSleepTime) ControlClick($winArithmetic,"","Button8") Sleep($iSleepTime) WinClose($iHandle1) EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndFunc
Plain Text
Global $Paused HotKeySet("{PAUSE}", "TogglePause") AutoItSetOption("TrayIconDebug",1) Opt("WinTitleMatchMode", 2) $strInputImgPath1k = 'C:\1K\' $strInputImgPath2k = 'C:\2K\' $strInputImgPath4k = 'C:\4K\' $strInputImgPath10 = 'C:\10\' $strInputImgPath512 = 'C:\512\' $strInputColorImgPath1k = 'C:\1K\' $strInputColorImgPath2k = 'C:\2K\' $strInputColorImgPath4k = 'C:\4K\' $strInputColorImgPath10 = 'C:\10\' $strInputColorImgPath512 = 'C:\512\' $strOutputImgPath = 'C:\Newfolder\' $strErrorLogPath = 'C:\Newfolder\' $strApplicationPath = "C:\Program Files\winapp.exe" $strName1k = '1K_image' $strName2k = '2K_image' $strName4k = '4K_image' $strName10 = '10_image' $strName512 = '500_image' $strNameColor = '24bit_' $strName8bits = '8bit_' $iXClickFile = 70 $iYClickFile = 48 $iXClickOpen = 68 $iYClickOpen = 83 $iXClickSaveAs = 154 $iYClickSaveAs = 85 $iXClickOperation = 140 $iYClickOperation = 50 $iXClickArithmetic = 37 $iYClickArithmetic = 84 Func TogglePause() $Paused = Not $Paused While $Paused Sleep(100) ToolTip('Script is "Paused"', 0, 0) WEnd ToolTip("") EndFunc