Compartir a través de


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 atributo match, 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 mismos ProcessId y ThreadId 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>  
  

Vea también

Win DDA
Uso de adaptadores basados en datos (DDAs)