# Window Titles and Text (Advanced)

AutoIt operates in one of three "Window matching" modes. The modes are set with the AutoItSetOption function using the WinTitleMatchMode option.

Mode 1 (default)

Matches partial titles from the start.

In this mode, a window titled Untitled - Notepad would be matched by "Untitled - Notepad", "Untitled", "Un", etc.

e.g.

    WinWait("Untitled")

Mode 2

Matches any substring in the title.

In this mode, a window titled Untitled - Notepad would be matched by "Untitled - Notepad", "Untitled", "Notepad", "pad", etc.

e.g.

    WinWait("Notepad")

Mode 3

Exact title match.

In this mode, a window titled Untitled - Notepad would only be matched by "Untitled - Notepad".

Mode 4 (Kept for backward compatibility)

Advanced mode

Replaced by Advanced Window Descriptions which work in any mode.

Mode -1 to -4

Case insensitive match according to the other type of match.

## Advanced Window Descriptions

A special description can be used as the window title parameter. This description can be used to identify a window by the following properties:

- TITLE - Window title
- CLASS - The internal window classname
- REGEXPTITLE - Window title using a regular expression (if the regular expression is wrong @error will be set to 2)
- REGEXPCLASS - Window classname using a regular expression (if the regular expression is wrong @error will be set to 2)
- LAST - Last window used in a previous Windows AutoIt Function (see Windows Management Functions)
- ACTIVE - Currently active window
- X \ Y \ W \ H - The position and size of a window
- INSTANCE - The 1-based instance when all given properties match

One or more properties are used in the title parameter of a window command in the format:

    [PROPERTY1 : Value1; PROPERTY2:Value2]

Note : if a Value must contain a ";" it must be doubled.

e.g. Wait for a window with the classname "Notepad".

    WinWaitActive("[CLASS:Notepad]", "")

e.g. Close the currently active window

    WinClose("[ACTIVE]", "")

e.g. Wait for the 2nd instance of a window with title "My Window" and classname "My Class"

    WinWaitActive("[TITLE:My Window; CLASS:My Class; INSTANCE:2]", "")

e.g. List windows matching Title defined by a regular expression

    WinList("[REGEXPTITLE:(?i)(.*SciTE.*|.*Internet Explorer.*)]")

## Window Handles / HWNDs

The variant datatype in AutoIt natively supports window handles (HWNDs). A window handle is a special value that Windows assigns to windows each time they are created. When you have a handle you may use it in place of the title parameter in any of the function calls that use the title/text convention. The advantage of using window handles is that if you have multiple copies of an application open which have the same title/text then you can uniquely identify them using handles. When you use a window handle for the title parameter then the text parameter is completely ignored.

Various functions such as WinGetHandle, WinList and GUICreate return these handles. It is important to note that a window handle is not classed as a number or string - it is its own special type.

Note: Window handles will work no matter what WinTitleMatchMode is currently in use.

Example

    Local $hWnd = WinGetHandle("Untitled - Notepad", "")
    WinClose($hWnd)