# Function Reference

# AutoItSetOption, Opt

Changes the operation of various AutoIt functions/parameters.

AutoItSetOption ( "option" [, param] )

## Parameters

option | The option to change. See Remarks.
param | [optional] The value to assign to the option. The type and meaning vary by option. See remarks below. If the param is not provided, then the function just returns the value already assigned to the option. The keyword Default can be used for the parameter to reset the option to its default value.

## Return Value

Success: | the value of the previous setting for the option.
Failure: | sets the @error flag to non-zero. Failure will occur if the parameters are invalid (such as an option that does not exist).

## Remarks

You may use Opt() as an alternative to AutoItSetOption().
Options are as follows:

Option | Param
CaretCoordMode | Sets the way coords are used in the caret functions, either absolute coords or coords relative to the current active window: 0 = relative coords to the active window 1 = (default) absolute screen coordinates 2 = relative coords to the client area of the active window
ExpandEnvStrings | Changes how literal strings and % symbols are interpreted. By default strings are treated literally, this option allows you to use %environment% variables inside strings, e.g., "The temp directory is: %temp%". 0 = (default) do not expand environment variables 1 = expand environment variables Without this option the usual way would be: "The temp directory is: " & EnvGet("temp")
ExpandVarStrings | Changes how literal strings and variable/macro ($ and @) symbols are interpreted. By default strings are treated literally, this option allows you to use variables and macros inside strings, e.g., "The value of var1 is $var1$". 0 = (default) do not expand variables 1 = expand variables (when in this mode and you want to use a literal $ or @ then double it up: "This is a single dollar $$ sign".
GUICloseOnESC | When ESC is pressed on a GUI the $GUI_EVENT_CLOSE message is sent. This option toggles this behavior on and off. 0 = Don't send the $GUI_EVENT_CLOSE message when ESC is pressed. 1 = (default) Send() the $GUI_EVENT_CLOSE message when ESC is pressed.
GUICoordMode | Alters the position of a control defined by GUICtrlSetPos(). 0 = relative position to the start of the last control (upper left corner). 1 = (default) absolute coordinates still relative to the dialog box. 2 = cell positioning relative to current cell. A -1 for left or top parameter don't increment the start. So next line is -1, offset; next cell is offset,-1; current cell is -1,-1. Obviously "offset" cannot be -1 which reserved to indicate the no increment. But if you can use a multiple of the width you choose to skip or go back.
GUIDataSeparatorChar | Define the character which delimits subitems in GUICtrlSetData(). The default character is '|'.
GUIOnEventMode | Enable/disable OnEvent functions notifications. 0 = (default) disable. 1 = enable.
GUIResizeMode | Change default resizing for a control. 0 = (default) keep default control resizing. <1024 = any type of resizing see GUICtrlSetResizing().
GUIEventOptions | Change special event behavior or GUI function return values. 0 = (default) Windows behavior on click on Minimize,Restore, Maximize, Resize. 1 = suppress windows behavior on minimize, restore or maximize click button or window resize. Just sends the notification.
MouseClickDelay | Alters the length of the brief pause in between mouse clicks. Time in milliseconds to pause (default=10).
MouseClickDownDelay | Alters the length a click is held down before release. Time in milliseconds to pause (default=10).
MouseClickDragDelay | Alters the length of the brief pause at the start and end of a mouse drag operation. Time in milliseconds to pause (default=250).
MouseCoordMode | Sets the way coords are used in the mouse functions, either absolute coords or coords relative to the current active window: 0 = relative coords to the active window 1 = (default) absolute screen coordinates 2 = relative coords to the client area of the active window
MustDeclareVars | If this option is used then all variables must be pre-declared with Local, Global or in some cases Dim before they can be used - removes the chance for misspelled variables causing bugs. 0 = (default) Variables don't need to be pre-declared 1 = Variables must be pre-declared. See Dim / Global / Local / Const for details on declaring variables.
PixelCoordMode | Sets the way coords are used in the pixel functions, either absolute coords or coords relative to the window defined by hwnd (default active window): 0 = relative coords to the defined window 1 = (default) absolute screen coordinates 2 = relative coords to the client area of the defined window
SendAttachMode | Specifies if AutoIt attaches input threads when using Send() function. When not attaching (default mode=0) detecting the state of capslock/scrolllock and numlock can be unreliable under NT4. However, when you specify attach mode=1 the Send("{... down/up}") syntax will not work and there may be problems with sending keys to "hung" windows. ControlSend() ALWAYS attaches and is not affected by this mode. 0 = (default) don't attach 1 = attach
SendCapslockMode | Specifies if AutoIt should store the state of capslock before a Send() function and restore it afterwards. 0 = don't store/restore 1 = (default) store and restore
SendKeyDelay | Alters the length of the brief pause in between sent keystrokes. A value of 0 removes the delay completely. Time in milliseconds to pause (default=5).
SendKeyDownDelay | Alters the length of time a key is held down before being released during a keystroke. For applications that take a while to register keypresses you may need to raise this value from the default. A value of 0 removes the delay completely. Time in milliseconds to pause (default=5).
SetExitCode | Autoit exitcodes return when a Fatal error occurs. 0 = (default) don't set 1 = Set @exitCode on Fatal error - see AutoIt3 Fatal Error Exit codes
TCPTimeout | Defines the time before TCP functions stop if no communication. Time in milliseconds before timeout (default=100).
TrayAutoPause | Script pauses when click on tray icon. 0 = no pause 1 = (default) pause. If there is no DefaultMenu no pause will occurs.
TrayIconDebug | If enabled shows the current script line in the tray icon tip to help debugging. 0 = (default) no debug information 1 = show debug
TrayIconHide | Hides the AutoIt tray icon. Note: The icon will still initially appear for ~750 milliseconds. 0 = (default) show icon 1 = hide icon
TrayMenuMode | Extend the behaviour of the script tray icon/menu. This can be done with a combination (adding) of the following values. 0 = (default) default menu items (Script Paused/Exit) are appended to the usercreated menu; items will automatically be checked/unchecked when clicked; double clicking the tray icon returns the controlID of the $TRAY_DEFAULT item. 1 = no default menu 2 = items will not automatically check/uncheck when clicked 4 = do not return the $TRAY_DEFAULT item controlID when the tray icon is double clicked 8 = turn off auto check of radio item groups
TrayOnEventMode | Enable/disable OnEvent functions notifications for the tray. 0 = (default) disable 1 = enable
WinDetectHiddenText | Specifies if hidden window text can be "seen" by the window matching functions. 0 = (default) Do not detect hidden text 1 = Detect hidden text
WinSearchChildren | Allows the window search routines to search child windows as well as top-level windows. 0 = (default) Only search top-level windows 1 = Search top-level and child windows
WinTextMatchMode | Alters the method that is used to match window text during search operations. 1 = (default) Complete / Slow mode 2 = Quick mode In quick mode AutoIt can usually only "see" dialog text, button text and the captions of some controls. In the default mode much more text can be seen (for instance the contents of the Notepad window). If you are having performance problems when performing many window searches then changing to the "quick" mode may help.
WinTitleMatchMode | Alters the method that is used to match window titles during search operations. 1 = (default) Match the title from the start 2 = Match any substring in the title 3 = Exact title match 4 = Advanced mode (retained for backwards compatibility only - see Window Titles & Text (Advanced)) -1 to -4 = Case insensitive match according to the other type of match.
WinWaitDelay | Alters how long a script should briefly pause after a successful window-related operation. Time in milliseconds to pause (default=250).

## Example

    ; copy any you want to change   ;default value is listed first

    Opt("CaretCoordMode", 1) ;1=absolute, 0=relative, 2=client
    Opt("ExpandEnvStrings", 0) ;0=don't expand, 1=do expand
    Opt("ExpandVarStrings", 0) ;0=don't expand, 1=do expand
    Opt("GUICloseOnESC", 1) ;1=ESC  closes, 0=ESC won't close
    Opt("GUICoordMode", 1) ;1=absolute, 0=relative, 2=cell
    Opt("GUIDataSeparatorChar", "|") ;"|" is the default
    Opt("GUIOnEventMode", 0) ;0=disabled, 1=OnEvent mode enabled
    Opt("GUIResizeMode", 0) ;0=no resizing, <1024 special resizing
    Opt("GUIEventOptions", 0) ;0=default, 1=just notification, 2=GUICtrlRead tab index
    Opt("MouseClickDelay", 10) ;10 milliseconds
    Opt("MouseClickDownDelay", 10) ;10 milliseconds
    Opt("MouseClickDragDelay", 250) ;250 milliseconds
    Opt("MouseCoordMode", 1) ;1=absolute, 0=relative, 2=client
    Opt("MustDeclareVars", 0) ;0=no, 1=require pre-declaration
    Opt("PixelCoordMode", 1) ;1=absolute, 0=relative, 2=client
    Opt("SendAttachMode", 0) ;0=don't attach, 1=do attach
    Opt("SendCapslockMode", 1) ;1=store and restore, 0=don't
    Opt("SendKeyDelay", 5) ;5 milliseconds
    Opt("SendKeyDownDelay", 1) ;1 millisecond
    Opt("TCPTimeout", 100) ;100 milliseconds
    Opt("TrayAutoPause", 1) ;0=no pause, 1=Pause
    Opt("TrayIconDebug", 0) ;0=no info, 1=debug line info
    Opt("TrayIconHide", 0) ;0=show, 1=hide tray icon
    Opt("TrayMenuMode", 0) ;0=append, 1=no default menu, 2=no automatic check, 4=menuitemID  not return
    Opt("TrayOnEventMode", 0) ;0=disable, 1=enable
    Opt("WinDetectHiddenText", 0) ;0=don't detect, 1=do detect
    Opt("WinSearchChildren", 1) ;0=no, 1=search children also
    Opt("WinTextMatchMode", 1) ;1=complete, 2=quick
    Opt("WinTitleMatchMode", 1) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
    Opt("WinWaitDelay", 250) ;250 milliseconds