ABRIR SISTEMA COM SENHA ATRAVES DE OUTRO EXECUTAVE

ASHKATCHUP 09/08/2013 21:44:18
#427372
Boa noite, Marcelo.

Como eu não estava muito afim de trabalhar hoje, fiquei pesquisando sobre o teu problema e encontrei uma solução. Não é a melhor técnica do mundo, mas resolve o teu caso.

Vou te explicar como fazê-la funcionar (e configurar pro teu software), mas o programa (anexo) está com o código todo comentado.

Obs.: somente é necessário fazer o procedimento abaixo UMA vez. O objetivo é anotar as classes de componentes geradas pelo compilador do programa.
As classes não mudam para o mesmo programa.

Obs2: por algum motivo, não consegui ler o conteudo de um textbox, embora o código pareça correto. Vou dar uma olhada nisso amanha.
Para descobrir qual handle corresponde ao textbox que tu quer, envie uma letra e veja qual mudou o conteudo na tela :D

Obs3: a ORDEM dos textbox nao é alterada a cada leitura da janela.
Como não há como identificá-los, sugiro salvar a ordem dos textbox e usa-los assim.
Se o Textbox1 é a senha, ele sempre será a senha (naquele programa, obvio)

Obs4: No caso do botao, há como identificá-lo pelo texto.
Ou seja, se tu quiser clicar no botao [Ô]SAIR[Ô], basta ler todos botões e achar o que possui esse texto.

-Anote o titulo da janela para qual tu quer enviar o texto. O título da janela é mostrado no topo dela. Salve esse nome em algum lugar.



-Abra o programa Spy++ (ele é instalado junto com o Visual Studio)




-Aperte CTRL+F para abrir o buscador de janelas


-Clique no icone que parece um [Ô]alvo[Ô] e arraste ele até o textbox do programa.


-Solte o click e as propriedades do textbox aparecerão. Clique em [Ô]OK[Ô]


-A classe do objeto selecionado será mostrada na aba Class. Anote o nome da classe em algum lugar, para usar depois.


-Repita o procedimento acima, selecionando um botão

-No fim, tu terá os 3 dados necessários para fazer a brincadeira funcionar. Então, pode fechar o Spy++


-Execute o programa que eu fiz e insira os dados. E aperte o botão magico :D


-Selecione um textbox da lista, coloca o que tu quer que seja enviado e teste \o/


-Seleciona um botao e faça o teste do click
MARCELODAVID 09/08/2013 23:34:05
#427376
Amigo, acabei de testar! Perfeito! Vou estudar os códigos!
Incrível! Muito obrigado meu amigo!
MARCELODAVID 09/08/2013 23:50:00
#427377
Amigo só mais uma dúvida:
Não usou api?
Qual versão do VS você criou o programa?
POis aqui, quando fui abrir os fontes, ele disse
que teria que converter para minha versão, mas funcionou
perfeito!!
O meu VS é o 2010.
ASHKATCHUP 10/08/2013 08:57:25
#427384
+Eu criei o programa no VS 2008. Só tenho ele instalado no meu notebook.
+Usei várias API do Windows.
Utilizar uma API significa que tu utilizará uma função ou sub nativa do windows, [Ô]ignorando[Ô] as do compilador.

Todas funções abaixo (declaradas nas classe [Ô]JanelasExternas.vb[Ô]) são API. Como tu pode ver, eu informo a DLL do Windows que contem elas (user32.dll) para poder acessá-las:
-FindWindow
-SendMessage
-GetClassName
-GetWindowText
-GetWindowTextLength
-EnumChildWindows
MARCELODAVID 10/08/2013 10:30:40
#427387
Muito bom meu amigo!
Me ajudou muito, pois é exatamante
o que eu precisava!!

Muito obrigado mesmo pela disposição!
Agora vou fazer alguma modificações e aplicar
para o sistema!

Muito obrigado! (Nçai sei como por o tópico como resolvido..)
ASHKATCHUP 10/08/2013 18:54:43
#427394
Que bom que lhe ajudei, mestre!

Em cima do tópico, tem um link [Ô]Encerrar Topico[Ô]. Basta clicar nele.

Abraço!
Página 2 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas