次の方法で共有


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" が既定値です。 テキストの比較は、キャプション テキストとのサブストリング照合です。 指定されたテキストがサブジェクト ウィンドウのキャプションのサブストリングとして見つかる場合、それは一致と見なされます。 一致したウィンドウが新しいコンテキスト ウィンドウになります。 一致が見つからない場合、検索は失敗します。 既定では、同じ ProcessIdThreadId に所属するウィンドウのみが一致と見なされます。

  • <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>  
  

関連項目

Win DDA
データ駆動型アダプター (DDA) の使用