FindWindow Tag in Unified Service Desk
Das Tag <FindWindow>
besteht aus einer Liste mit untergeordneten Elementen, die eine Folge von Zuordnungsvorgängen darstellen, die alle erfolgreich sein müssen, damit das zu berücksichtigende Zielfenster gefunden werden kann.
Die folgenden Codeausschnitte zeigen, wie die verschiedenen <FindWindow>
-Elemente verwendet werden, um das Zielfenster zu finden:
# RELAX NG XML grammar for FindWindow
# https://relaxng.org/compact-tutorial-20030326.html
#
grammar {
start = FindWindow
FindWindow = element FindWindow {
element ControlId { attribute match { xsd:integer }?, text }*
& element Caption { attribute match { xsd:integer }?, text }*
& element CaptionStartsWith { same as Caption }*
& element CaptionEndsWith { same as Caption }*
& element CaptionContains { same as Caption }*
& element Class { attribute match { xsd:integer }?, text }*
& element ClassStartsWith { same as Class }*
& element ClassEndsWith { same as Class }*
& element ClassContains { same as Class }*
& element Find { Caption & Class }*
& element Desktop { empty }*
& element Application { empty }*
& element Owner { empty }*
& element RelaxProcessIdRestriction { empty }*
& element RelaxThreadIdRestriction { empty }*
}
}
<FindWindow> Tag-Elemente
Die folgende Tabelle beschreibt die verschiedenen Elemente des <FindWindow>
-Tags:
Element | Beschreibung |
---|---|
ControlId | Fenster mit ID. |
Überschrift | Fensterbeschriftungstext. |
CaptionStartsWith | Beschriftung beginnt mit Text. |
CaptionEndsWith | Beschriftung endet mit Text. |
CaptionContains | Beschriftung enthält Text. |
Klasse | Fenster mit Klassennamen. |
ClassStartsWith | Klassenname beginnt mit Text. |
ClassEndsWith | Klassenname endet mit Text. |
ClassContains | Klasse enthält Text. |
Suchen | Sucht nach einem Fenster wie über das Class - oder Caption -Element angegeben. |
Desktop | Legt den Suchpunkt auf dem Desktop fest. |
Anwendung | Legt den Suchpunkt auf das Anwendungsfenster der obersten Ebene fest. |
Bes. | Fenster mit angegebenem Besitzer. |
RelaxProcessIdRestriction | Schließt Fenster mit anderen Prozess-IDs in die Suche ein. Standardmäßig gehören alle Fenster zu derselben Prozess-ID. |
RelaxThreadIdRestriction | Schließt Fenster mit anderen Thread-IDs in den Suchvorgang ein. Standardmäßig gehören alle Fenster zu derselben Thread-ID. |
Das folgende XML zeigt Steuerelementdefinition unter Verwendung des <FindWindow>-Tags.
<FindWindow>
<Desktop/>
<Caption match="1">Font</Caption>
<Class>#32770</Class>
<Caption>OK</Caption>
</FindWindow>
<FindWindow>
<Application/>
<ControlId>7d</ControlId>
</FindWindow>
<FindWindow>
<Desktop/>
<Class>Notepad</Class>
</FindWindow>
Im vorangehenden XML
-Beispiel besitzen die Elemente folgende Definitionen:
<Application/>
- Legt das Kontextfenster auf das oberste Fenster der Anwendung fest. Standardmäßig wird der Kontext auf das Fenster der obersten Ebene vor dem ersten untergeordneten Knoten in <FindWindow/> initialisiert.<Desktop/>
- Legt das Kontextfenster auf das Desktop-Fenster der Stammebene fest.<Caption match="1">Font</Caption> - Sucht in der Fensterhierarchie, beginnend mit dem aktuellen Kontextfenster, nach dem ersten Fenster mit einer Beschriftung, die dem angegebenen Text entspricht. Wenn
match="2"
, sucht es nach dem zweiten Fenster mit Beschriftungstext, der dem bereitgestellten Text entspricht. Wenn kein Attributmatch
angegeben wird, istmatch="1"
die Standardeinstellung. Der Textvergleich ist eine Teilzeichenfolgenübereinstimmung mit dem Beschriftungstext. Wenn der bereitgestellte Text als Teilzeichenfolge in der Beschriftung des Fensters efunden werden kann, wird er als Übereinstimmung betrachtet. Das erfolgreich übereinstimmende Fenster wird das neue Kontextfenster. Wenn keine Übereinstimmung gefunden wird, schlägt die Suche fehl. Standardmäßig gelten nur Windows, die zu demselbenProcessId
undThreadId
gehören, als Übereinstimmung.<Class>#32770</Class>
- Sucht in der Fensterhierarchie nach dem ersten Fenster mit einem Klassentext, der mit dem angegebenen Text übereinstimmt. Alle anderen Verhaltensdetails sind identisch mit<Caption/>.
.<ControlId>7d</ControlId>
- Durchsucht die Fensterhierarchie nach dem ersten Fenster mit einem Steuerelement, das dem angegebenen Wert entspricht. Hier ist eine exakte Übereinstimmung erforderlich. Alle anderen Verhaltensdetails sind identisch mit<Caption/>
.Das folgende XML sucht nach dem Fenster mit der Beschriftung OK im ersten Fenster mit der Beschriftung Schriftart und der Klassen-ID 32770, beginnend am Desktop.
<FindWindow>
<Desktop/>
<Caption match="1">Font</Caption>
<Class>#32770</Class>
<Caption>OK</Caption>
</FindWindow>
Das folgende XML
sucht nach dem enster mit der Steuerelement-ID 7D und beginnt am Fenster der obersten Ebene der Anwendung.
<FindWindow>
<Application/>
<ControlId>7d</ControlId>
</FindWindow>
Folgende XML
sucht nach dem (ersten) Fenster mit dem Klassennamen Notepad, beginnend beim Desktop.
<FindWindow>
<Desktop/>
<Class>Notepad</Class>
</FindWindow>