• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rjcp

Interacção entre dois programas [RESOLVIDO]

6 mensagens neste tópico

Boa tarde a todos

Eu estou a fazer um projecto que consiste em registar na datagrid de um form o nome do objecto clicado noutra aplicação. Por exemplo, pretendo que, ao abrir o jogo do Solitário, apareça na datagrid do meu form qual a carta que foi que foi movida/clicada.

Já procurei pela internet fora e os resultados dessa procura foram bastante escassos, além de que já me aconteceu conseguir qualquer coisa parecida com o que pretendo mas não obtenho resultado nenhum devido ao facto do meu form ficar completamente branco.

Desde já os meus agradecimentos e votos de um Feliz e Santo Natal.

Ricardo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ui. Isso não me parece nada fácil. Mas fiquei curioso com a ideia.

Se alguém descobrir, também gostava de saber. ;)

PS: e querias capturar os objectos de qualquer aplicação à escolha?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

PS: e querias capturar os objectos de qualquer aplicação à escolha?

Exactamente  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma coisa era fazer isso se controlasses as 2 aplicações.

Agora com uma não controlada como o solitário, parece-me uma tarefa complicada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, de facto, fácil não será, mas sei que é possível fazê-lo, pois já vi programas feitos mas sem qualquer referência ao seu autor :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde a todos

Depois de muita pesquisa lá consegui encontrar o que pretendia.

Ora bem, para enviarem informação da vossa aplicação para qualquer outra aplicação basta:

- Procurar a janela de interacção com o SPY que vem já com o VS2008;

- Utilizamos a user32.dll para definir os métodos FindWindow e SendMessage;

- Atráves do Handle devolvido pelo SPY (que pode ser o nome da janela) aplicamo-lo no FindWindow(null, <string nome da janela>) cujo resultado será um IntPtr que será, por sua vez, o primeiro parâmetro da SendMessage.

Com isto enviamos mensagens para outra aplicação.

Se quiserem clicar em "Enter" na outra aplicação através da vossa utilizem o PostMessage(<IntPtr do FindWindow>, <HEX do KEYDOWN>,  <HEX do Enter>, 0).

Se tiverem dúvidas digam  :P

Cumps

Ricardo Plácido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora