Unified Service Desk の FindWindow タグ
<FindWindow>
タグは、一連の照合操作を表す子要素のリストから構成されます。見つかったと見なされるには、これらのすべてが一致する必要があります。
次のコード スニペットは、ターゲット ウィンドウを検索するためにさまざまな <FindWindow>
要素がどのように使用されるかを示しています。
# 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> タグ要素
次の表に、<FindWindow>
タグのさまざまな要素を示します。
Element | 内容 |
---|---|
ControlId | ID 付きウィンドウ。 |
キャプション | ウィンドウ キャプションのテキスト。 |
CaptionStartsWith | キャプションがテキストで始まります。 |
CaptionEndsWith | キャプションがテキストで終わります。 |
CaptionContains | キャプションにテキストが含まれます。 |
クラス | クラス名を持つウィンドウ。 |
ClassStartsWith | クラス名がテキストで始まります。 |
ClassEndsWith | クラス名がテキストで終わります。 |
ClassContains | クラスにテキストが含まれます。 |
検索 | Class または Caption 要素で指定されたとおりにウィンドウを検索します。 |
デスクトップ | デスクトップに検索箇所を設定します。 |
アプリケーション | アプリケーションの最上位ウィンドウに検索箇所を設定します。 |
所有者 | 所有者が指定されているウィンドウ。 |
RelaxProcessIdRestriction | 検索にさまざまなプロセス ID を持つウィンドウを含めます。 既定では、すべてのウィンドウが同じプロセス ID に属しています。 |
RelaxThreadIdRestriction | 検索プロセスにさまざまなスレッド ID を持つウィンドウを含めます。 既定では、すべてのウィンドウが同じスレッド ID に属しています。 |
次の XML は、<FindWindow> タグを使用したコントロール定義を示しています。
<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>
前の XML
の例では、要素は次のように定義されています。
<Application/>
– コンテキスト ウィンドウをアプリケーションの最上位ウィンドウに設定します。 既定では、コンテキストは、<FindWindow/> の最初の子ノードの前に、最上位ウィンドウに初期設定されます。<Desktop/>
– コンテキストをルート レベルのデスクトップ ウィンドウに設定します。<Caption match="1">Font</Caption> – 指定されたテキストと一致するキャプション テキストを持つ最初のウィンドウを検索します。現在のコンテキスト ウィンドウを起点に、ウィンドウ階層を上から順番に検索します。
match="2"
の場合は、指定されたテキストに一致するキャプションを持つ 2 番目のウィンドウを検索します。match
属性を指定しない場合、match="1"
が既定値です。 テキストの比較は、キャプション テキストとのサブストリング照合です。 指定されたテキストがサブジェクト ウィンドウのキャプションのサブストリングとして見つかる場合、それは一致と見なされます。 一致したウィンドウが新しいコンテキスト ウィンドウになります。 一致が見つからない場合、検索は失敗します。 既定では、同じProcessId
とThreadId
に所属するウィンドウのみが一致と見なされます。<Class>#32770</Class>
– 指定されたテキストと一致するクラス テキストを持つ最初のウィンドウを見つけるために、ウィンドウ階層を検索します。 そのほかの操作の詳細については、すべて<Caption/>.
と同じです<ControlId>7d</ControlId>
– 指定された値と一致するコントロール ID を持つ最初のウィンドウを見つけるために、ウィンドウ階層を検索します。 これは完全一致である必要があります。 そのほかの操作の詳細については、すべて<Caption/>
と同じです。次の XML は、キャプションが Font で、クラス ID が 32770 の最初のウィンドウ内で、キャプションが OK のウィンドウの検索をデスクトップから開始します。
<FindWindow>
<Desktop/>
<Caption match="1">Font</Caption>
<Class>#32770</Class>
<Caption>OK</Caption>
</FindWindow>
次の XML
は、コントロール ID が 7D のウィンドウの検索をアプリケーションの最上位ウィンドウから開始します。
<FindWindow>
<Application/>
<ControlId>7d</ControlId>
</FindWindow>
次の XML
は、 Notepad というクラス名の (最初の) ウィンドウの検索をデスクトップから開始します。
<FindWindow>
<Desktop/>
<Class>Notepad</Class>
</FindWindow>