Inicializar aplicação com windows

8 respostas
ganondorfan

Boas pessoal,

Estou tentando resolver um problema, eu preciso que minha aplicação Java após a primeira execução, inicialize junto com o windows da segunda em diante.
Entretanto não terei acesso a maquina que executará a app, ou seja, não posso simplesmente colar um atalho do JAR na pasta inicializar do windows, ou adicionar manualmente a entrada no registro.

Alguém já fez algo parecido, tem alguma idéia de como posso fazer?

Att.Paulo

8 Respostas

M

porque você não registra sua aplicação como um serviço do windows???

P

Vc pode pelo Java disparar comandos do MS-DOS (equivalente ao Shell do Linux), como sou das antigas usei ele um pouco e dá para fazer isso fácil (desde que o usuário de execução tenha privilégios suficientes para isso).

O único inconveniente é que a sua aplicação ficaria preza na plataforma Windows, matando a grande vantagem do Java de ser multiplataforma.

ganondorfan

Poderia postar um exemplo do que executar no prompt commando?

P

Agora estou no TS trabalhando com Oracle Forms, quando chegar em caso eu pego e lhe envio.
Flw.

lucasportela

Use o método abaixo com o comando reg add para adicionar no registro ou então use o comando xcopy para a pasta inicializar como vc mesmo disse
(pesquise mais informações como funciona os comandos)

private void exec(){
		try {
                        // Adicionar chave no registro
			exec = Runtime.getRuntime().exec("reg add ...");
                        // copiar arquivo
			exec = Runtime.getRuntime().exec("xcopy ...");
			System.out.println("Executado.");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
ganondorfan

Eu sei usar o Runtime, minha duvida é exatamente onde entra as reticências no seu código, e outra, não pretendo efetuar copias pelo runtime.

lucasportela

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v NomeDoRegistro(ex:ExecutarMeuPrograma) /t REG_MULTI_SZ /d NomeDoPrograma(ex:MeuPrograma.jar)

se pedir alguma confirmação, use o /f para retirar qualquer pedido de confirmação.
não testei porque estou no trabalho, mas tenta ai

Referência: http://technet.microsoft.com/en-us/library/cc742162(WS.10).aspx

ganondorfan

opa, brigado cara, vou testar sim.

Criado 6 de janeiro de 2011
Ultima resposta 6 de jan. de 2011
Respostas 8
Participantes 4