Você está aqui: Delphi ::: Win32 API (Windows API) ::: Formulários e Janelas |
||||
Como usar a função FindWindow() da API do Windows para retornar o handle de uma determinada janela de alto-nívelQuantidade de visualizações: 22563 vezes |
||||
A função FindWindow() da API do Windows é muito útil quando precisamos obter o handle de uma determinada janela de alto-nível (esta função não nos permite localizar janelas-filhas). Veja sua assinatura:
Esta função possui dois parâmetros: lpClassName - É um ponteiro para uma string terminada em null que especifica o nome de classe ou um átomo de classe criado por uma chamada anterior à função RegisterClass() ou RegisterClassEx(). O átomo deve estar no valor de baixa-ordem (low-order) de lpClassName e o valor de alta-ordem (high-order) deve ser zero. Se lpClassName apontar para uma string, ele especifica o nome de classe da janela. O nome de classe pode ser qualquer nome registrado anteriormente com uma chamada à RegisterClass() ou RegisterClassEx(), ou qualquer nome de classe dos controles pré-definidos. Se lpClassName for null, a funções encontrará todas as janelas cujos títulos sejam iguais ao parâmetro lpWindowName. lpWindowName - É um ponteiro para uma string terminada em null que especifica o nome da janela, ou melhor, o título da janela. Se este parâmetro for null, todas as janelas serão consideradas e a função FindWindow() retornará a primeira janela da lista. Veja um trecho de código no qual obtemos um handle para a janela do Bloco de Notas.
Note que, se houver várias janelas do Bloco de Notas abertas, a função retornará apenas o handle para a primeira janela ou, mais comumente, a última janela a estar ativa. Desta forma, abra algumas janelas do Bloco de Notas e vamos fechar uma delas com o seguinte código:
Vejamos agora como encontrar uma janela fornecendo apenas o nome da janela (ou melhor, seu título). Veja:
Neste último trecho de código nós encontramos a janela de acordo com o título fornecido e em seguida usamos a função GetClassName() da API do Windows para obter o nome de classe de janela. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
||||
|
|
||||
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




