Etiqueta FindWindow en Unified Service Desk
La etiqueta <FindWindow>
se compone de una lista de elementos secundarios que representa una secuencia de operaciones de correspondencia, todos los cuales necesitan tener éxito para que la ventana de destino se considere encontrada.
El fragmento de código siguiente muestra cómo los diversos elementos <FindWindow>
se usan para buscar la ventana de destino:
# 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 }*
}
}
Elementos de etiqueta <FindWindow>
La siguiente tabla describe los diversos elementos de etiqueta <FindWindow>
:
Elemento | Descripción |
---|---|
ControlId | Ventana con Id. |
Título | Texto del título de la ventana. |
CaptionStartsWith | Título empieza con texto. |
CaptionEndsWith | Título termina por texto. |
CaptionContains | Título contiene texto. |
Clase | Ventana con nombre de clase. |
ClassStartsWith | Nombre de clase empieza con texto. |
ClassEndsWith | Nombre de clase termina por texto. |
ClassContains | La clase contiene texto. |
Buscar | Busca una ventana especificada mediante el elemento Class o Caption . |
Escritorio | Establece el punto de búsqueda al escritorio. |
Aplicación | Establece el punto de búsqueda en la ventana de nivel superior de aplicaciones. |
Propietario | Ventana con propietario especificado. |
RelaxProcessIdRestriction | Incluye las ventanas con identificadores del proceso diferentes en búsqueda. De forma predeterminada, todas las ventanas pertenecen al mismo identificador del proceso. |
RelaxThreadIdRestriction | Incluye ventanas con identificadores de subproceso diferentes en proceso de búsqueda. De forma predeterminada, todas las ventanas pertenecen al mismo identificador de subproceso. |
El siguiente XML muestra definición de control con la etiqueta <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>
En el ejemplo precedente XML
, los elementos tienen las definiciones siguientes:
<Application/>
- Establece la ventana de contexto en la ventana de nivel superior de la aplicación. De forma predeterminada, el contexto se inicializa en la ventana de nivel superior antes del primer nodo secundario en <FindWindow/>.<Desktop/>
- Establece la ventana de contexto en la ventana del escritorio del nivel de raíz.<Caption match="1">Font</Caption>: busca en la jerarquía de ventanas, empezando en la ventana de contexto actual y bajando por la jerarquía, en busca de la primera ventana con el texto de título que coincida con el texto proporcionado. Si
match="2"
, busca la segunda ventana con el texto de título que coincida con el texto proporcionado. Si no se proporciona un atributomatch
,match="1"
es el predeterminado. La comparación de texto es una coincidencia de subcadena con el texto de título. Si el texto proporcionado se encuentra como subcadena en el título de la ventana del asunto, se considera una coincidencia. La ventana de coincidencia correcta se convierte en la nueva ventana de contexto. Si no se encuentra una coincidencia, la búsqueda produce un error. De forma predeterminada, sólo ventanas que pertenecen a los mismosProcessId
yThreadId
se consideran una coincidencia.<Class>#32770</Class>
- Busca en la jerarquía de ventanas la primera ventana con el texto de clase que coincida con el texto proporcionado. El resto de los detalles de comportamiento son idénticos a<Caption/>.
<ControlId>7d</ControlId>
- Busca en la jerarquía de ventanas la primera ventana con un ID de control que coincida con el valor proporcionado. Debe ser una coincidencia exacta. El resto de los detalles de comportamiento son idénticos a<Caption/>
.El siguiente XML busca la ventana con el título Aceptar en la primera ventana con el título Fuente y el Id. de clase 32770, empezando en el panel.
<FindWindow>
<Desktop/>
<Caption match="1">Font</Caption>
<Class>#32770</Class>
<Caption>OK</Caption>
</FindWindow>
El siguiente XML
busca la ventana con el Id. de control 7D, empezando en la ventana de nivel superior de la aplicación.
<FindWindow>
<Application/>
<ControlId>7d</ControlId>
</FindWindow>
El siguiente XML
busca la (primera) ventana con el nombre de clase Notepad, empezando en el escritorio.
<FindWindow>
<Desktop/>
<Class>Notepad</Class>
</FindWindow>