Aplicativo para colocar ENTER no buffer do Windows?
Moderador: Moderadores
Aplicativo para colocar ENTER no buffer do Windows?
Pessoal estou chamando um EXE de dentro do meu programa. Funciona normalmente. O executavel que é aberto, antes de entrar, me da 2 opções com 2 botoes (é GUI) <Update> <Cancelar>. O foco do botão já fica no <Cancelar> então é necessário teclar ENTER para fechar este dialogo e seguir com a rotina do executavel. O que preciso é um aplicativo para que coloque um ENTER este programa que é aberto ou no keyboard do Windows para simular um acinamento manual do ENTER.
Tentei usar a Wapi via linha de comando com -KILLAPPLICATION: NOMEDOEXECUTAVEL, e fecha nao so a janela ativa mais o executavel que esta atras dela tambem. Se o WAPI tivesse um esquema de usar o HANDLE e ao invez de fechar, ter um parametro de keyboard seria ideal (tipo passar ENTER ou ESC para um sistema pelo HANDLE), so que procurei na documentação e nos fontes da Wapi e não encontrei nada. Será que alguem conhece um aplicativo via linha de comando que aceite isso, não pode ser GUI porque meus sistemas estão em modo texto (Clipper 5.2e)
Abraços.
Tentei usar a Wapi via linha de comando com -KILLAPPLICATION: NOMEDOEXECUTAVEL, e fecha nao so a janela ativa mais o executavel que esta atras dela tambem. Se o WAPI tivesse um esquema de usar o HANDLE e ao invez de fechar, ter um parametro de keyboard seria ideal (tipo passar ENTER ou ESC para um sistema pelo HANDLE), so que procurei na documentação e nos fontes da Wapi e não encontrei nada. Será que alguem conhece um aplicativo via linha de comando que aceite isso, não pode ser GUI porque meus sistemas estão em modo texto (Clipper 5.2e)
Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Aplicativo para colocar ENTER no buffer do Windows?
Mas se você utilizar switch -KILLAPPLICATION você terá que informar o handle desse executável. O handle desse executável você pode indentificá-lo através do switch -GETAPPSINFO:<arquivo> onde listará todos os executáveis que estão sendo executados.a Wapi via linha de comando com -KILLAPPLICATION: NOMEDOEXECUTAVEL, e fecha nao so a janela ativa mais o executavel que esta atras dela tambem
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Aplicativo para colocar ENTER no buffer do Windows?
Olá Pablo. Então eu usei o Handle retornado por GETAPPSINFO e funcionou beleza, porem não serviu ao meu propósito porque fecha o aplicativo inteiro, mesmo que na GETAPPSINFO me retorno 2 handles um para o EXE rodando ao fundo e outro para a janela em foco, se mando "matar" a janela fecha tambem o executável acho que deva ser porque é um dialog e filho da janela principal.
Ate+
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Aplicativo para colocar ENTER no buffer do Windows?
Aqui achei algo interessate, mas não creio que dê pra você usar, mas pelo menos se quiser basear-se na linguagem C e fazer alguns testes, vale a pena conhecer: http://www.codeproject.com/Articles/6819/SendKeys-in-C
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Aplicativo para colocar ENTER no buffer do Windows?
Não, creio. Vou fazer um teste e retorno.acho que deva ser porque é um dialog e filho da janela principal
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Aplicativo para colocar ENTER no buffer do Windows?
Pablo, vi o codigo em C++, aqui não tenho esta linguagem, mais tenho C# amanhã vou procurar para ver se acho algo. Agora no texto do site diz keybd_event(VK_TAB, 0, 0, 0) e na HWGUI temos o keyb_event(VK_RETURN,.T.) será que tem como buscar um handle pela HWGUI e nesta funcao, passar o handle junto com o evento?
Obrigado pela ajuda.
Obrigado pela ajuda.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Aplicativo para colocar ENTER no buffer do Windows?
Acredito que para interagir com uma aplicação externa como você quer, você deverá utilizar o SendMessage.
Mas eu fiz teste com o WAPI e funcionou, lembre que o WAPI.EXE deve estar no mesmo diretório. Anexei o meu exemplo para que você veja que é possivel. Outra coisa, observe que do primeiro RUN tem um INKEY(3), para aguardar que carregue o primeiro executável, assim aparece na lista de executáveis. Talvez tenha sido esse a falha do seu teste com WAPI.
Pois é... pode ser que seja possível, de qualquer forma vai ter obter o handle da aplicação GUI e manter o foco para poder enviar o "Enter" na sessão da aplicativo/GUI.na HWGUI temos o keyb_event(VK_RETURN,.T.)
Mas eu fiz teste com o WAPI e funcionou, lembre que o WAPI.EXE deve estar no mesmo diretório. Anexei o meu exemplo para que você veja que é possivel. Outra coisa, observe que do primeiro RUN tem um INKEY(3), para aguardar que carregue o primeiro executável, assim aparece na lista de executáveis. Talvez tenha sido esse a falha do seu teste com WAPI.
- Anexos
-
TESTES.rar- (79.57 KiB) Baixado 91 vezes
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Aplicativo para colocar ENTER no buffer do Windows?
Pablo obrigado pelo seu teste, mais ja havia feito este teste mesmo esperando mais de 3 "minutos" rs, acaba fechando o aplicativo inteiro, mesmo que o ID seja separado. So para voce ver, o PDFCREATOR ele ao ser chamado verifica se ha atualização exindo uma janela com 2 botões. Não sei se voce usa, se usar faça um teste com ele e verá o que ocorre. Eu espero aparecer a mensagem, ai abro o prompt e atraves da Wapi executo o GETAPPSINFO obtenho o ID da mensagem e uso o KILLAPPLICATION:ID ao invez de fechar so a mensagem, o PDFCREATOR fecha inteiro.Pablo César escreveu:Mas eu fiz teste com o WAPI e funcionou
Abraços, vou durmir...
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Aplicativo para colocar ENTER no buffer do Windows?
Desculpa Anderson, mas não pode ser ! Agora estou sem tempo, mas quando eu volte à tarde vou testar com esse PDFCREATOR que você diz. Mas o coneito é igual para todos. Você deve estar fazendo algo errado, talvez a sequência dessa espera e a listagem dos exes, pois se o exemplo que postei dá certo, tem que dar em todos. Eu seu que está cansado e nessa hora as vezes não notamos pequenos detalhes, mas você notou como estou chamando através do RUN ? CMD e START juntos. Reveja !ja havia feito este teste mesmo esperando mais de 3 "minutos" rs, acaba fechando o aplicativo inteiro
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Aplicativo para colocar ENTER no buffer do Windows?
No caso do PDFCREATOR eu nao estou chamando ele de dentro do programa não. Ele esta rodando em background. Eu mando uma impressão geralmente a primeira do dia, ele ve se tem atualização e me exibe o aviso.Pablo César escreveu:mas você notou como estou chamando através do RUN ? CMD e START juntos. Reveja !
Quando se usa o CMD /C junto com START cria-se um nova instancia, entao pode haver varias e assim atraves do handle voce pode fechar cada uma. No meu caso, ha um aplicativo rodando que emite um aviso (como disso o estranho é que ha 2 handles) se escolho o do aviso, fecha o aplicativo, o que não deveria ocorrer certo?
Mais não esquenta, vou mudar de plano A->B, rs. Acabei vendo que seria muito trabalhoso este processo vou partir para outra solução.
Obrigado pela ajuda.
Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
