Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

EnumChildWindows


Grilo~*
 Compartilhar

Posts Recomendados

Olá, Vou falar um pouquinho sobre EnumChildWindows,

 

Segundo o MSDN EnumChildWindows Seria :

 

Enumerates the child windows that belong to the specified parent window by passing the handle

 

to each child window, in turn, to an application-defined callback function. EnumChildWindows

 

continues until the last child window is enumerated or the callback function returns FALSE.

 

Traduzindo :

 

Enumera as janelas filho que pertencem à janela pai especificado pela passagem da alça para

 

cada janela filho, por sua vez, a uma função definida pelo aplicativo de chamada de retorno.

 

EnumChildWindows continua até que a janela último filho é enumerado ou a função callback retorna

 

FALSE .

 

Ou seja ela Enumera as Janelas filhas do Processo Desejado :]

Vou mostrar um exemplo rs'

Are you Ready ?

Let's Go!

 

Primeiramente criaremos uma função EnumChildProc,

Ela Pegará a Classe dos Objetos da Janela filha,O Titulo Da Janela Filha,e o ID.

 

Antes de Começar-mos Adcione ao seu **** :

1 Memo(Apague o Conteúdo Text/Lines)

3 Buttons(Pegar Handle Da Janela,Iniciar,Parar)

1Edit(apague o Text)

1*****(Caption: Nome Da Janela:)

 

O Meu Ficou assim :

jRI2s.png

 

Agora como lemos ali em cima, A EnumChildWindows Só para quando seu CallBack Retorna false ou Ela Enumerou tudo rs

Para ele Retornar falso, vamos criar uma váriavel Global do Tipo Booleana que vai fazer esse controle,

 

Suas Var ficará assim :

 

É necessário se cadastrar para acessar o conteúdo.

 

Aqui eu criei uma Váriavel a do tipo Booleana que receberá True or False,

Agora Criaremos uma que pegará a Handle do processo para usarmos na EnumChildWindows, Ficando assim :

 

É necessário se cadastrar para acessar o conteúdo.

 

Por Parte das Váriaveis Globais Terminamos, Agora Vamos a Função EnumChildProc, Usada Junto com a EnumChildWindows,

 

É necessário se cadastrar para acessar o conteúdo.

 

Uma função, que usará como parametro a Handle, e um memo que terá as informações, do tipo Booleana,

com a chamada Padrão.

 

Usaremos três Variaveis internas :

 

É necessário se cadastrar para acessar o conteúdo.

 

Duas do tipo Char, em um array de 0 a 255 (Letras do teclado), e uma id do tipo inteiro,

Para começar usarei minha primeira Váriavel, A, para saber se a função será realizada ou não,

 

É necessário se cadastrar para acessar o conteúdo.

 

Agora No Botão Pegar Handle da Janela, usaremos nossa váriavel do começo, lembram o nome ?

MyHandle, rs

 

É necessário se cadastrar para acessar o conteúdo.

 

Depois disso já temos nossa handle,Já temos oque pegar e Já temos onde por rs

Então vamos no botão Iniciar e usaremos finalmente a EnumChildWindows

Para começar e não correr risco do memo está escrito algo, o começo do code será :

 

É necessário se cadastrar para acessar o conteúdo.

 

Depois faremos com que o "A"(Nossa Váriavel) receba true para que a função seja realizada

 

É necessário se cadastrar para acessar o conteúdo.

 

Então Chamaremos Nossa Querida EnumChildWindows, Que como o MSDN seus Parametros São:

 

BOOL WINAPI EnumChildWindows (

__in_opt HWND hWndParent,

__in WNDENUMPROC lpEnumFunc,

__in LPARAM lParam

);

 

Ou seja:

 

É necessário se cadastrar para acessar o conteúdo.

 

E Por Fim: O Botão parar, {Não sei se ele cumpre oque promete e.e}

Vimos anteriormente que para O EnumChildProc Funcionar a Váriavel"A" tinha que estar True, então para

ela não funcionar, vamos deixa-lá false,

 

É necessário se cadastrar para acessar o conteúdo.

 

Pronto, Finalmente Terminamos, Com isso você terá o ID,Class e Caption de Handles Filhas,

Pelo que eu entendi EnumChildWindows Serve para Pegar Handles filha de uma Handle e dizer algumas de suas informações rs'

Esse foi o Básico da EnumChildWindows, ela é muito útil, se você não acha ela útil Tu é um namb u.ú

Espero que façam bom proveito rs

 

Créditos :

MSDN

~EvilCode

Grilo~*

Link para o comentário
Compartilhar em outros sites

A tradução não ficou boa. Foi no Google?

Por exemplo, traduzir handle para alça deixa muito estranho. Ninguém da programação fala alça, se fala handle mesmo

 

E seria bom testar os comandos que posta, aí evitaria frases como "Não sei se ele cumpre oque promete e.e"

 

 

Isso deixaria o tutorial bem melhor...

Link para o comentário
Compartilhar em outros sites

A tradução não ficou boa. Foi no Google?

Por exemplo, traduzir handle para alça deixa muito estranho. Ninguém da programação fala alça, se fala handle mesmo

 

E seria bom testar os comandos que posta, aí evitaria frases como "Não sei se ele cumpre oque promete e.e"

 

 

Isso deixaria o tutorial bem melhor...

Sim, foi no google, não preciso dessas traduções consigo entender perfeitamente em inglês, não me importei com a tradução,

e a parte de eu não saber você não entendeu, O enum enumera todas em questão de milésimos de segundos, é quase impossivel da tempo de clicar, por isso não pude testar.

O projeto esta ai. porque não testou ?

Link para o comentário
Compartilhar em outros sites

Sim, foi no google, não preciso dessas traduções consigo entender perfeitamente em inglês, não me importei com a tradução,

e a parte de eu não saber você não entendeu

Se sabe bastante inglês, poderia ter traduzido.

Mas, tudo bem, não é obrigado a fazer isso; apenas deixaria o tópico melhor.

 

O projeto esta ai. porque não testou ?

Estava em outros projetos e resolvi da uma pausa vendo as novidades na Info Zone. Não tinha como eu passar tempo tempo analizando apenas um tópico.

Normalmente, eu guardo nos favoritos o que acho mais interessante e vejo quando estou livre.

Link para o comentário
Compartilhar em outros sites

Se sabe bastante inglês, poderia ter traduzido.

Mas, tudo bem, não é obrigado a fazer isso; apenas deixaria o tópico melhor.

 

 

Estava em outros projetos e resolvi da uma pausa vendo as novidades na Info Zone. Não tinha como eu passar tempo tempo analizando apenas um tópico.

Normalmente, eu guardo nos favoritos o que acho mais interessante e vejo quando estou livre.

Não foi isso que quis dizer,

Oque falei foi no sentido de tentar e ver que não conseguirá.

Pelo menos aqui clicou já apareceu tudo.

Não traduzi porque a maioria das pessoas traduzem com o google, se eu traduzisse não ficaria igual.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.