AutoIt
跳至導覽
跳至搜尋
AutoIt,參照:『維基百科~AutoIt』
技術文件
應用
Hello world
; Make available a library of constant values. #include <MsgBoxConstants.au3> ; Displays "Hello, world!" in a messagebox. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")
Automating the Windows Calculator
; Make available a library of constant values. #include <MsgBoxConstants.au3> ; Display a message box with a timeout of 6 seconds. MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6) ; Run the Windows Calculator. Run("calc.exe") ; Wait for the calculator to become active with a timeout of 10 seconds. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; If the calculator did not appear after 10 seconds then exit the script. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Automatically type the current year into the calculator. Send(@YEAR) ; Let's slow the script down a bit so we can see what's going on. Sleep(600) ; Automatically type in 'divide by 4', and then sleep 600 ms. Send("/4") Sleep(600) ; Hit the return key to display the result, and sleep 600 ms. Send("{ENTER}") Sleep(600) ; Copy the result to the clipboard using the Windows shortcut Ctrl+C. Send("^c") ; Declare, and assign the contents of the clipboard to, a variable. Local $fResult = ClipGet() ; Check to see if the variable contains a decimal point or not. If StringInStr($fResult, ".") Then ; Display a message box with a timeout of 5 seconds. MsgBox($MB_OK, "Leap Year", @YEAR & " is not a leap year.", 5) Else ; This message will only display if the current year is a leap year. MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5) EndIf ; Close the Windows calculator - always tidy up afterwards. WinClose("[CLASS:CalcFrame]")
Find average
; Find Average by JohnOne, modified by czardas #include <MsgBoxConstants.au3> _Example() ; Run the example. Func _Example() ; Display an input box and ask the user to enter some numbers separated by commas. Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3") ; If an error occurred then exit the script. If @error Then Exit ; Populate an array with the user's input. Local $aSplit = StringSplit($sInput, ",") ; Pass the array to the function _Find_Average() and then check for errors. Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Display the result in a message box. MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_Example Func _Find_Average($aArray) ; If the input is not of the correct type (an array), then return an error along with the details. If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray)) ; More detailed checks are possible, but for brevity just one is performed here. ; Declare a variable to store the sum of the numbers. Local $iArraySum = 0 ; Loop through the array. For $i = 1 To $aArray[0] ; Increment the sum by the number in each array element. $iArraySum += Number($aArray[$i]) Next ; Return the average rounded to 2 decimal places. Return Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average