Jump to content
rjcp

Interacção entre dois programas [RESOLVIDO]

Recommended Posts

rjcp

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

Share this post


Link to post
Share on other sites
renafi

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?


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Share this post


Link to post
Share on other sites
rjcp

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

Share this post


Link to post
Share on other sites
rjcp

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.