Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Primeiramente boa dia/tarde/noite.
Fiz um programa para enviar mensagens de comando para uma outra aplicação (programa). Pesquisei muito sobre o assunto e encontrei nada a respeito do meu problema. 
O que eu acontece é o seguinte: O programa só manda o comando para a aplicação quando o parâmetro é 'WM_CHAR', quando tentei o parâmetro 'WM_KEYDOWN' ele não reproduz dentro da aplicação. Porém isso ocorre apenas na aplicação na qual e eu desejo que funcione. Testei em outros lugares e funciona perfeitamente, ou seja, o problema não está no código, mas sim em alguma resistência (barreira) da aplicação em questão.
Ou seja, pra ficar mais claro: 
 
Essa linha de comando é representada na aplicação:
SendMessage(h, WM_CHAR, B, 0);
 
Essa linha de comando não é representada na aplicação:
SendMessage(h, WM_KEYDOWN, VK_RETURN, 1);
SendMessage(h, WM_KEYUP, VK_RETURN, 1);

 

OBS: 'h' é a Handle da aplicação em questão.
 
Na hora de dar o ENTER (RETURN) ele simplesmente não envia, assim como qualquer outra tecla que não seja uma letra. Então se eu colocar no campo 'Edit' a palavra 'olá!' ele fica escrevendo a palavra infinitamente e não envia.
Gostaria que alguém me ajudasse a achar alguma alternativa (de repente mudar a função usada, ou captar o comando na aplicação, usar mensagens de notificação, enviar mensagem para a handle filha).
Grato !

  • 1 month later...
Postado

que eu me lembro no delphi, existia eventos, oncreate, onclickdown, key e etc, ao inves de tentar usar sendmessage, tente usar postmessage, a uns anos atras quebrei minha cabeça para fazer isso do software da empresa enviar para a maquina do client via T.V(team viewer), meu gerente me ajudo falando pra usar no "evento" do "botao" ou da ação, ve se funciona, acho que é isso

 

PostMessage(FindWindow(nil, ´nome da aplicaçao´), h, WM_KEYDOWN, VK_RETURN, 1 );
 

se nao, me desculpe

 

 

OBS.: Faz anos que nao mecho mais com delphi, mas foi uma situação que marcou e me lembrei ^^

Editado por kukas9
adição (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo