| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:00:38
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Tenho um problema que preciso resolver urgentão...
Imagine que estou no windows e tenho um prompt de comando do MS-DOS aberto, esse prompt pode estar minimizado na barra, ou aberto msm, só que a questão é que ele não está com o foco, qq outra coisa está focada.
Preciso programaticamente, agir como se o usuário clicasse sobre o prompt na barra de tarefas. Qdo fazemos isso no windows ele abre o prompt e foca. É isso que preciso fazer.
Pode ser algum programa que exista e já faça isso bastando eu passar o nome do que eu quero que ele abra. Pode ser comandos em java por ex, delphi, C++, etc... (ou outra linguagem) ou um comando a ser enviado para o windows, qq coisa assim.
Alguém sabe como ?
Grata,
Renata
This message was edited 1 time. Last update was at 18/12/2008 10:39:11
|
[]'s, Renata |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:06:29
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Isso não é tão trivial quanto parece porque a API do Windows que poderia resolver tal problema (SetForegroundWindow), a partir do Windows 98, não funciona sempre. Há um monte de condições que estão descritas na documentação da API
SetForegroundWindow Function
AllowSetForegroundWindow Function
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:13:05
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Não faço idéia de como usar isso...
Tem algum exemplo simples? Se bem q vc já disse que não funciona né...
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:36:49
|
Oliveira.caio
JavaGuru
Membro desde: 24/07/2008 19:38:33
Mensagens: 226
Localização: São Paulo - SP
Offline
|
Com o visual basic vc consegue fazer isso.
Me adiciona no msn que vou te mandar um exe para ver se atende sua necessidade.
|
Grato
Caio Oliveira
 
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:38:39
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Gente!!!
Brigada por tentarem me ajudar, mas pode deixar. Um amigo meu conseguiu meu ajudar aqui e fizemos. Não foi com java (como eu disse que nem precisava ser).
Agradeço de qq forma.
Grata,
Renata
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:50:50
|
KWill
Virtual Machine Man
![[Avatar]](/images/avatar/042aec9e604155f2f06c0a16c5f9ba06.jpg)
Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline
|
Se o problema teria sido resolvido, talvez fosse bom se você pudesse compartilhar a solução com o pessoal aqui do fórum...
Inté.
|
"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 10:54:15
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Aqui está,,, é que como falei, não é java e o GUJ é um forum de java...
OBS: Créditos a João, meu amigo que resolveu o problema!
This message was edited 1 time. Last update was at 18/12/2008 10:54:53
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 12:05:40
|
KWill
Virtual Machine Man
![[Avatar]](/images/avatar/042aec9e604155f2f06c0a16c5f9ba06.jpg)
Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline
|
RenataFA wrote:Aqui está,,, é que como falei, não é java e o GUJ é um forum de java... OBS: Créditos a João, meu amigo que resolveu o problema!
Ainda que esse código acima me pareça delphi/pascal, consegui fazer um porte dele usando JNA: Interface para a api User32 do Windows: Classe para usar: Omiti os imports da biblioteca JNA nos códigos acima, mas isso não deve ser problema para quem for usar... Inté.
This message was edited 1 time. Last update was at 18/12/2008 12:07:52
|
"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 12:45:40
|
mauro80
Debugger
![[Avatar]](/images/avatar/46604b5a2dc5852fd0733df3fb8e88c7.jpg)
Membro desde: 05/09/2008 12:33:41
Mensagens: 70
Localização: Brasil
Offline
|
KWill wrote:
RenataFA wrote:Aqui está,,, é que como falei, não é java e o GUJ é um forum de java...
OBS: Créditos a João, meu amigo que resolveu o problema!
Ainda que esse código acima me pareça delphi/pascal, consegui fazer um porte dele usando JNA:
Interface para a api User32 do Windows:
Classe para usar:
Omiti os imports da biblioteca JNA nos códigos acima, mas isso não deve ser problema para quem for usar...
Inté.
Olá, parabéns fera!
abs.
|
Mauro |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 13:25:10
|
bandrade
GUJ Ranger
Membro desde: 20/01/2003 15:45:15
Mensagens: 782
Offline
|
E qual foi a solução?
|
Will Code For Food |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 13:39:38
|
KWill
Virtual Machine Man
![[Avatar]](/images/avatar/042aec9e604155f2f06c0a16c5f9ba06.jpg)
Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline
|
bandrade wrote:E qual foi a solução?
Engraçado, acho que a RenataFA postou o código delphi/pascal no tópico e eu adaptei para Java usando JNA...
Inté.
|
"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 18:58:43
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
Membro desde: 18/06/2005 21:01:26
Mensagens: 2310
Localização: São Paulo/SP
Offline
|
KWill, você testou esse código e tá ok?
eu nem cheguei a testar, mas pelo visto parece que ficou bem animal esse teu código
parabéns
EDIT:
Caralho velho, tu mandou bem demais! Acabei de testar e ficou muito legal!
Tu tem algumas dicas de fontes, livros sei lá, pra lidar com JNA etc? Ou saber mais sobre a API do windows?
This message was edited 2 times. Last update was at 18/12/2008 19:20:37
|
http://www.leozin.com.br/blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 22:06:00
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Para saber mais sobre a API do Windows, consulte o pai dos burros, aham, o MSDN:
http://msdn.microsoft.com/en-us/library/aa139672.aspx
É bom saber um pouco de C para poder entender as especificações da API.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2008 22:08:19
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Mas como a Renata deve ter percebido, o código acima nem sempre funciona (muitas vezes ele só faz o botão na taskbar referente à janela ficar piscando). SetForegroundWindow depende de um monte de condições para que funcione do jeito que você quer.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2008 06:38:25
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
thingol wrote:Mas como a Renata deve ter percebido, o código acima nem sempre funciona (muitas vezes ele só faz o botão na taskbar referente à janela ficar piscando). SetForegroundWindow depende de um monte de condições para que funcione do jeito que você quer.
Sim thingol, vc tem razão... só que conseguimos resolver isso, é só mandar o msm comando duas vezes. Na primeira ele seleciona, na segunda ele abre a Janela, ficou perfeito! rs...
|
[]'s, Renata |
|
|
 |
|
|