ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Fechar programa externo simulando Enter. (Editado)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
brunosamuell
Novato
Novato


Registrado: Terça-Feira, 13 de Novembro de 2007
Mensagens: 3

MensagemEnviada: Ter Nov 13, 2007 11:13 am    Assunto: Fechar programa externo simulando Enter. (Editado) Responder com Citação

Moderadores Active-Delphi escreveu:

Tópico editado por Sufolk.
Motivo: Violação da regra 2Regras do Fórum.
Titulo Original: FECHA PORGRAM EXTERNO SIMULANDO "ENTER"



Bom Dia Galera!!

Estou Querendo Fecha Um Programa Q Fica Mostrando Uma Tela Com Os Botões (Repetir E Cancelar) Fiz Esse Comando Postmessage(Findwindow(Nil, Pchar(T)), Wm_Close , 0, 0) Mais Ele Faz E Finalizar O Programa! Tem Uma Forma Dele Executar A Simulação Do Enter Ou Executar O Click No Repetir?



BRUNO SAMUEL
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
solitary_knight
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 26 de Janeiro de 2006
Mensagens: 277

MensagemEnviada: Qua Nov 14, 2007 11:32 am    Assunto: Responder com Citação

Amigo tente as funções EnumChildWindows e Na função de callback a função GetWindowText.

Depois de achar o handle do botão usa um sendmessage com BM_CLICK par a simular o click do botão

Para achar a janela que tem o Botão use FindWindow

Qualquer dúvida de como usar as funções posta ai
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
brunosamuell
Novato
Novato


Registrado: Terça-Feira, 13 de Novembro de 2007
Mensagens: 3

MensagemEnviada: Qua Nov 14, 2007 12:08 pm    Assunto: tem um exemplo Responder com Citação

vc teria um como me mostrar um exemplo para testar?

agradeço muito a ajuda!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
solitary_knight
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 26 de Janeiro de 2006
Mensagens: 277

MensagemEnviada: Qua Nov 14, 2007 12:39 pm    Assunto: Responder com Citação

Cria dois projetos, o primeiro é onde vc vai trabalhar e o outro é como se fosse o que quer interagir.

No meu caso a classe do form do exe que quero interagir é TForm2.

essas são as duas funções que eu criei para procurar o botão.
Nese form tem um TBotton e um ListBox.

Se tiver dúvida em alguma coisa, me manda o programa via e-mail que eu do uma olhada. Avisa que mandou.

o_theface@yahoo.com

procedure TmainForm.Button1Click(Sender: TObject);
var wnd: THandle;
begin
ListBox1.Clear;
wnd:= FindWindow(PChar('TForm2'), nil);

if (wnd <= 0) then
begin
ShowMessage('Janela não encontrada');
Exit;
end;

EnumChildWindows(wnd, @EnumChildProc, 0);
end;

function EnumChildProc(hwnd: HWND; lParam: LPARAM): BOOL;
var buf, buf2: array[0..255] of Char;
begin
GetClassName(hwnd, buf, sizeof(buf) - 1);
GetWindowText(hwnd, buf2, sizeof(buf2) - 1);
mainForm.ListBox1.items.Add(buf + ' - ' + buf2);

Result:= True;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB