[RESOLVIDO]Desligar o PC com Java

Amigos, vi esse post no forum, (http://www.guj.com.br/java/233260-desligar-computador-com-java-resolvido) e tentei fazer, queria saber o que fiz de errado, meu codigo no pc de vocês funciona?

[code]import java.io.IOException;
import javax.swing.JOptionPane;

/*

  • blablabla
  • blablabla
    */

/**
*

  • @author blablabla
    */
    public class main {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) throws IOException {
      JOptionPane.showMessageDialog(null,“Seu pc serra desligado!”);
      Process exec = Runtime.getRuntime().exec(“init 0”);
      }
      } [/code]

como eu expliquei no outro post

Runtime.getRuntime().exec()

esse comando ele executa um comando no Sistema operacional atual, é mais ou menos como se você entrasse no console do sistema e digita-se o comando

no caso do linux que uso para desligar o pc pelo console eu preciso digitar

shutdown -h now

no console, então para executar esse comando pelo java seria assim

Runtime.getRuntime().exec("shutdown -h now")

mas isso só funcionaria no linux que é o meu caso, no windows o comando é outro, e para IOS o comando muda também!

de uma olhada os comandos que o Seu sistema operacional tem para saber qual vai funcionar para você

No windows para desligar o comando é

shutdown -s

Então seria:

import java.io.IOException;
import javax.swing.JOptionPane;


public class main {

   
    public static void main(String[] args) throws IOException {
        JOptionPane.showMessageDialog(null,"seu computador sera desligado"); 
        Runtime.getRuntime().exec("shutdown -s now"); 
    }
}

assim esta certo? estou pelo celular não posso testar agora…

no Windows o comando é só isso

shutdown -s

“now” é para o LINUX

ata, entendi.
Então isso da certinho né?

[code]import java.io.IOException;
import javax.swing.JOptionPane;

public class main {

public static void main(String[] args) throws IOException {  
    JOptionPane.showMessageDialog(null,"seu computador sera desligado");   
    Runtime.getRuntime().exec("shutdown -s");   
}  

} [/code]
Obrigado!

você sabe o console do seu pc ?

aquele tela preta ?

então todo sistema operacional tem uma lista do comandos esse comandos são executados nesse terminal para completar uma função/objetivo, como é o caso do comando

shutdown -s 

se você digitar esse comando em um computador Windows ele vai desligar

Observe que eu não estou falando aqui de java estou falando de comandos do Sistema Operacional

Agora indo para java, a JVM permite que você execute comandos nativos do Sistema operacional como ?
simples

Runtime.getRuntime().exec(COMANDO);

ao digitar isso é como se você estivesse indo para a “Tela preta” do seu pc e digitasse o comando passado

se você está no Windows o comando do Sistema operacional do Windows para deligar o pc pelo terminal é

shutdown -s 

para executar esse comando no java você tem que fazer assim

Runtime.getRuntime().exec("shutdown -s");

MAS isso só vai funcionar no Windows

1 curtida

Pô cara, muito obrigado!
Ajudou bastante mesmo!
:smiley:

Por favor, ao postar tópicos, evite abusar das letras maiúsculas no título. Também não é necessário marcar com informações óbvias, como [DUVIDA].