Window Titles and Text Advanced

From Sputnik Wiki
Jump to: navigation, search

Description

Sputnik operates in one of five "Window matching" modes.

The modes are set with the Opt() function using the WinTitleMatchMode and WinTextMatchMode option.

Remarks

Mode 1 (default)

@MatchModeLeft

Matches partial titles from the start.

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

e.g.

WinWait("Untitled");

Mode 2

@MatchModeRight

Matches partial titles from the end.

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

e.g.

WinWait("pad");

Mode 3

@MatchModePartial

Matches any sub-string in the title.

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

e.g.

WinWait("Notepad");

Mode 4

@MatchModeFull

Exact title match.

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

e.g.

WinWait("Untitled - Notepad");

Mode 5

@MatchModeAdvanced

Advanced mode.

Must be replaced with Advanced Window Descriptions which does not need any mode to be set.

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:

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 a window of 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"

WinWait("[TITLE=My Window; CLASS=My Class; INSTANCE=2]", "");

e.g. Wait for the 2nd instance of a notepad

WinWait("[class=Notepad;INSTANCE=2]");

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

WinList("[CLASSRX=#\d+]")

e.g. Use a ; in the title, text or a regex by placing it as ;;

WinList("[CLASSRX=#;;\d+]")

Window Handles / HWNDs

The SV datatype in Sputnik supports window handles (HWNDs) as IntPtr. A window handle is a special value that windows assigns to a window each time it is 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 - you can uniquely identify them when using handles. When you use a window handle for the title parameter then the text parameter is completely ignored.

Various functions such as WinGetHandle and WinList etc return these handles.

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

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox