2010-06-04 15 views

Odpowiedz

17
String shutdownCmd = "shutdown -s" 
Process child = Runtime.getRuntime().exec(shutdownCmd); 

Więcej informacji na shutdown command do oglądania

Niektóre inne opcje wiersza poleceń, które mogą być przedmiotem zainteresowania jesteś

-i Wyświetl interfejs GUI, musi być pierwszą opcją

-l Wyloguj się (nie można używać z opcją -m)

-r wyłączenie i ponowne uruchomienie komputera

-m \ nazwakomputera (Remote komputer do wyłączania/restartu/abort)

- t xx Ustaw czas oczekiwania na zamknięcie do xx sekund

-c "komentarz" Shutdown komentarz (maksymalnie 127 znaków)


Oczywiście, jeśli wolisz nie robić tej metody, istnieją biblioteki, które możesz pobrać, aby to osiągnąć. Jednym z przykładów może być Java Windows Shutdown Functions.

Według ich stronie SourceForge:

JWSF - Java zamykaniem systemu Windows Funkcje API umożliwia aplikacjom Java, aby wykonać następujące operacje na większości okien systemu operacyjnego, wyłączenie, restart, wylogowanie, blokady stacji roboczej. JWSF wykonuje połączenia natywne za pomocą JNI. JWSF podlega licencji LGPL

3

Uruchom polecenie "shutdown -s".

Edit: Coś takiego:

Process p = Runtime.getRuntime().exec("shutdown -s"); 
3

Można to zrobić także za pomocą WMI, na przykład poprzez JACOB:

import java.util.Enumeration; 

import com.jacob.activeX.ActiveXComponent; 
import com.jacob.com.ComThread; 
import com.jacob.com.EnumVariant; 
import com.jacob.com.Variant; 

public abstract class Shutdown { 

    public static void main(String[] args) { 
     ComThread.InitMTA(); 
     try { 
      ActiveXComponent wmi = new ActiveXComponent("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\\\."); 
      Variant instances = wmi.invoke("InstancesOf", "Win32_OperatingSystem"); 
      Enumeration<Variant> en = new EnumVariant(instances.getDispatch()); 
      ActiveXComponent os = 
       new ActiveXComponent(en.nextElement().getDispatch()); 
      os.invoke("Win32Shutdown", 1, 0); 
     } finally { 
      ComThread.Release(); 
     } 
    } 

} 
1

Jeśli chcesz zamknięcie go w określonym czasie dołączy parametr -t (w sekundach) .

pięć sekund:

String shutdownCmd = "shutdown -s -t5"; 
Powiązane problemy