API, ESTOU QUASE DESISTINDO....

MARCOS 03/01/2013 17:03:23
#416693
Prezados colegas!
Eu postei um tópico solicitando ajuda para uma rotina
que estou precisando.Os colegas,forneceram linK's
de exemplos.Mas,apesar de serem vários os exemplos,eu
simplesmente não consegui.Estou a 2/3 dias tentando e
simplesmente não consigo. O trabalho com API's do
Windows me parece muito confuso.Provavelmente devido
ao meu pouco conhecimento do tema.Mas,como ainda preciso
muito,resolvi pedir a algum colega que tenha familiaridade
com API[ô]s ajuda.


O problema:

Na prática é um simples projeto que tem somente o seguinte:

- 1 Formulário

No Form1:

- 1 Listbox
- 1 Button

Na tela, terei aberto no Desktop um programa feito por terceiro (Sem documentação,tenho só o executável)


Minha missão impossível:

Quando clicar, no Button1 do Form1,o [Ô]Código[Ô] deverá exibir no Listbox, o conteúdo das caixas de texto do programa
que esta na tela. ( O programa tem apenas 3)


Eu até que consegui encontrar com os exemplos dos colegas, o Hwnd do programa aberto na tela.
Mas,eu não consegui criar (Mesmo com os exemplos da internet) um código que consiga ler o conteúdo
das caixas de texto. Sei que a API a ser usada é a EnumChildWindows,mas não tive sucesso ao tentar
criar um código com ela que extraia o conteúdo das caixas de texto.

Algum colega dispoe de um exemplo,que leia o conteúdo de caixas de texto de um programa externo
e traga este dado para o própio código??????
KERPLUNK 03/01/2013 17:49:35
#416701
Resposta escolhida
Ok, vamos acabar com seu sufoco. Fiz uma aqui que faz o que você quer, mas só vai funcionar caso a aplicação a ser pegos os dados for .NET

Teste aí e veja se funciona pra você
MARCOS 04/01/2013 17:10:22
#416770
Boa tarde,KERLUNK!
Muito obrigado pelo exemplo.

Eu fiz o download e testei.

A principio não funcionou ,pois o programa que citei não é feito em .NET ( é bem antigo).
Mas estudando seu código,percebi que você adicionou uma instrução Condicional numa
das funções.Fiquei imaginando que talvez a instrução estivesse inibindo a captura dos
dados dos controles do tal programa. Suprimi o [Ô]IF[Ô] e [Ô]FUNCIONOU[Ô].
Finalmente consegui ler os dados das caixas de texto do programa.

MUITO OBRIGADO!!!!!!



Tópico encerrado , respostas não são mais permitidas