Partilhar via


Etiqueta FindWindow

A etiqueta <FindWindow> consiste numa lista de elementos subordinados que representam uma sequência de operações de correspondência, que têm de ter êxito para que a janela de destino seja considerada localizada.

O fragmento de código seguinte mostra como os vários elementos de <FindWindow> são utilizados para localizar a janela de destino:

# RELAX NG XML grammar for FindWindow
# http://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 da etiqueta<FindWindow>

A tabela seguinte descreve os vários elementos da etiqueta <FindWindow>:

Elemento Descrição

ControlId

Janela com ID.

Caption

Texto de legenda da janela.

CaptionStartsWith

A legenda começa com texto.

CaptionEndsWith

Legenda termina com texto.

CaptionContains

Legenda contém texto.

Class

Janela com nome de classe.

ClassStartsWith

O nome da classe começa com texto.

ClassEndsWith

Nome da classe termina com texto.

ClassContains

Classe contém texto.

Find

Procura a janela conforme especificado através do elemento Class ou Caption.

Desktop

Define o ponto de pesquisa para o ambiente de trabalho.

Application

Define o ponto de pesquisa para a janela de nível superior da aplicação.

Owner

Janela com proprietário especificado.

RelaxProcessIdRestriction

Inclui janelas com IDs do processo diferentes na pesquisa. Por predefinição, todas as janelas pertencem ao mesmo ID de processo.

RelaxThreadIdRestriction

Inclui janelas com vários IDs de tópico no processo de pesquisa. Por predefinição, todas as janelas pertencem ao mesmo ID de tópico.

O XML seguinte mostra a definição de controlo utilizando a 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>

No exemplo de XML anterior, os elementos tem as seguintes definições:

  • <Application/> – Define a janela de contexto para a janela de nível superior da aplicação. Por predefinição, o contexto é inicializado para a janela de nível superior antes de primeiro nó subordinado em <FindWindow/>.

  • <Desktop/> – Define a janela de contexto para a janela de ambiente de trabalho de nível raiz.

  • <Caption match="1">Font</Caption> – Pesquisa a hierarquia da janela, iniciando na janela atual de contexto no sentido descendente na hierarquia, até à primeira janela com texto de legenda que corresponde ao texto fornecido. Se match="2", irá pesquisar a segunda janela com texto de legenda que corresponde ao texto fornecido. Se nenhum atributo match for fornecido, match="1" é a predefinição. A comparação de texto é uma correspondência da subcadeia com o texto de legenda. Se o texto fornecido pode ser localizado como uma subcadeia na legenda da janela de assunto, é considerado uma correspondência. A janela de correspondência com êxito torna-se na nova janela de contexto. Se não for encontrada nenhuma correspondência, a pesquisa falha. Por predefinição, apenas as janelas pertencentes ao mesmo ProcessId e ThreadId são consideradas uma correspondência.

  • <Class>#32770</Class> – Pesquisa a hierarquia da janela, pela primeira janela com texto de classe que corresponde ao texto fornecido. Todos os detalhes comportamentais restantes são idênticos a <Caption/>.

  • <ControlId>7d</ControlId> – Pesquisa a hierarquia da janela, pela primeira janela com um ID de controlo que corresponde ao valor fornecido. Tem de ser uma correspondência exata. Todos os detalhes comportamentais restantes são idênticos a <Caption/>.

O XML seguinte procura a janela com a legenda OK na primeira janela com a legenda Font e o ID de classe 32770, a partir do ambiente de trabalho.

<FindWindow>
<Desktop/>
<Caption match="1">Font</Caption>
<Class>#32770</Class>
<Caption>OK</Caption>
</FindWindow> 

O XML seguinte procura a janela com o ID de controlo 7D de controlo, a partir da janela de nível superior da aplicação.

<FindWindow>
<Application/>
<ControlId>7d</ControlId>
</FindWindow>

O XML seguinte procura a (primeira) janela com o nome de classe Notepad, a partir do ambiente de trabalho.

<FindWindow>
<Desktop/>
<Class>Notepad</Class>
</FindWindow> 

Consulte Também

Conceitos

WinDDA
Utilizar adaptadores orientados por dados (DDAs)

Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.