Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;
- ; AutoIt Version: 3.0
- ; Language: English
- ; Platform: Windows 2019/10/2016/8/2012/7/2008
- ; Author: Core Technologies Consulting, LLC
- ;
- ; Script Function:
- ; Sends the ENTER key to a given window
- ;
- ; Usage:
- ; SendEnterKeyToWindow <window-name> [-d]
- ; where the optional -d flag specifies to log debugging
- ; information to C:\\autoit-log.txt.
- ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- Func LogMessage($message, $withPrefix = 1)
- $file = FileOpen("C:\\autoit-log.txt", 1)
- ; Check if file opened for writing OK
- If $file = -1 Then
- MsgBox(0, "Error", "Unable to open file.")
- Exit(1)
- EndIf
- if ($withPrefix) Then
- $prefix = '[' & @MON & '/' & @MDAY & '/' & @YEAR & ' ' & @HOUR & ':' & @MIN & ':' & @SEC & '] '
- FileWrite($file, $prefix)
- EndIf
- FileWrite($file, $message & @CRLF)
- FileClose($file)
- EndFunc
- ; Expect at least 1 argument, the window name
- ; Exit if less than 1 argument
- if $CmdLine[0] < 1 Then
- MsgBox(0x40000, 'SendEnterKeyToWindow', 'Usage:' & @CRLF & @CRLF & 'SendEnterKeyToWindow <window-name> [-d]')
- Exit(1)
- EndIf
- $windowName = $CmdLine[1]
- ; If the 2nd argument is -d, then do logging.
- $doLogging = "no"
- if $CmdLine[0] >=2 Then
- if $CmdLine[2] = "-d" Then
- $doLogging = "yes"
- Endif
- EndIf
- if ($doLogging == "yes") Then
- LogMessage(@CRLF & '-------------------------------------------------------------------------------', 0)
- LogMessage('SendEnterKeyToWindow: Window name = "' & $windowName & '"')
- EndIf
- ; Try to activate the window. May not succeed in Session 0:
- ; https://www.coretechnologies.com/blog/miscellaneous/running-autoit-session-0/
- $result = WinActivate($windowName)
- ; Log the result if necessary
- if ($doLogging == "yes") Then
- if ($result == 0) Then
- LogMessage('Window "' & $windowName & '" NOT found by WinActivate!')
- Else
- LogMessage('Window "' & $windowName & '" found by WinActivate.')
- EndIf
- EndIf
- ; Send the key press
- $result = ControlSend($windowName, "", "", "{ENTER}")
- ; Log the result if necessary
- if ($doLogging == "yes") Then
- if ($result == 1) Then
- LogMessage('ControlSend succeeded.')
- Else
- LogMessage('ControlSend failed!')
- EndIf
- EndIf
- ORA:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement