Window Titles and Text Advanced

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Remarks)
m (1 revision)
 
(5 intermediate revisions by one user not shown)
Line 8: Line 8:
  
 
'''Mode 1 (default)'''
 
'''Mode 1 (default)'''
 +
 +
@MatchModeLeft
  
 
Matches partial titles from the start.
 
Matches partial titles from the start.
Line 20: Line 22:
  
 
'''Mode 2'''
 
'''Mode 2'''
 +
 +
@MatchModeRight
  
 
Matches partial titles from the end.
 
Matches partial titles from the end.
Line 32: Line 36:
  
 
'''Mode 3'''
 
'''Mode 3'''
 +
 +
@MatchModePartial
  
 
Matches any sub-string in the title.
 
Matches any sub-string in the title.
Line 44: Line 50:
  
 
'''Mode 4'''
 
'''Mode 4'''
 +
 +
@MatchModeFull
  
 
Exact title match.
 
Exact title match.
Line 56: Line 64:
  
 
'''Mode 5'''
 
'''Mode 5'''
 +
 +
@MatchModeAdvanced
  
 
Advanced mode.
 
Advanced mode.
Line 110: Line 120:
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
 
WinList("[CLASSRX=#\d+]")
 
WinList("[CLASSRX=#\d+]")
 +
</syntaxhighlight>
 +
 +
e.g. Use a ; in the title, text or a regex by placing it as ;;
 +
 +
<syntaxhighlight lang="sputnik">
 +
WinList("[CLASSRX=#;;\d+]")
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== Window Handles / HWNDs ===
 
=== Window Handles / HWNDs ===
The SV datatype in Sputnik supports window handles (HWNDs) as Int64. 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.
+
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.  
 
Various functions such as WinGetHandle and WinList etc return these handles.  

Latest revision as of 12:37, 14 June 2015

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