Executar aplicativo maximizado

11 respostas
phpinheiro

Estou disparando outro aplicativo através do java.

Faço através do Runtime:

Runtime.getRuntime().exec("nome do aplicativo");

Mas estou precisando que o aplicativo entre em execução maximizado.

Existe algum comando que pode ser passado pelo parâmetro de execução do Runtime?

Se não, alguém tem alguma sugestão?

Obrigado

11 Respostas

ONHATE

Windows /MAX
Linux ñ sei te dizer agora teria que dar uma pesquisada.

phpinheiro

Então,

tentei fazer da seguinte maneira:

Runtime.getRuntime().exec("start /max taskmgr");
//taskmgr é um exemplo

O problema é que o java reconhece como uma string inteira. Consegui fazer chamando um arquivo cmd com o comando. Eu queria fazer direto, sem ter que usar esse tipo de “alternativa”.

T

Não existe um programa chamado start.exe. Esse comando faz parte do cmd.exe.

Você teria de usar:

cmd /c start /max taskmgr
phpinheiro

Opa!

valeu thingol. Esqueci mesmo do “cmd /c”.

phpinheiro

Em vez de criar outro tópico, já vou perguntar aqui.

Como faço pra maximizar uma aplicação qualquer que já esta em execução?

O que preciso fazer é colocar esta aplicação em cima de todas as outras e maximizar.

Valeu

ONHATE
JFrame f = new JFrame();

//maximiza

f.setExtendedState(JFrame.MAXIMIZED_BOTH);

//em cima das outras

f.setAlwaysOnTop(true);
ONHATE

acho que não era isso que queria saber… :lol:
me precipitei…

phpinheiro

Então Marcelo,

esta aplicação que quero deixar no topo é uma outra aplicação rodando no windows, e não uma window ou frame da aplicação em java.

Mas valeu assim mesmo

T

Hum… como sempre, isso é mais complicado que deveria ser. Basicamente você precisa achar a aplicação, e então a janela que você quer maximizar da aplicação (com FindWindow), e por fim enviar uma mensagem (com a API do Windows SendMessage: SendMessage (nHwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0); )
Se você souber o título da janela principal que você quer maximizar, fica um pouco mais fácil.

phpinheiro

Valeu thingol…vou dar uma olhada no que vc falou.

Só pra esclarecer, o lance aqui é o seguinte:

Eu tenho uma aplicação rodando aqui…em VB eu acho. Esta aplicação possui vários módulos e todos os módulos são um executável separado. O que preciso fazer é impedir o usuário de abrir o mesmo módulo várias vezes. Este programa foi terceirizado e não está disponível para alteração, então tenho que fazer outra aplicação pra controlar isso.

O que fiz até agora foi varrer a lista de processos do SO e ver se o módulo está nela. Até aí beleza. Fiz uma mensagem simples pro usuário que o aplicativo já está em execução e não deixo ele abrir outro.

Preciso fazer o seguinte agora: além da mensagem de erro, tenho que jogar o aplicativo pra cima, caso ele esteja atrás de outras janelas. Alguns destes módulos suportam maximização, então já quero jogar pra cima maximizado.

dá pra fazer isso somente pelo nome do aplicativo ou processo? Preciso saber também o nome da janela? Não dá pra pegar pelo processo ou executável?

phpinheiro

Até agora não achei nenhuma referencia sobre o assunto.

alguém pode indicar?

Criado 27 de março de 2009
Ultima resposta 27 de mar. de 2009
Respostas 11
Participantes 3