# Java-Program zum PC-ausschalten



## anna (10. Sep 2006)

Hallo Leute!

ich habe einen Wecker mit  ein paar Optionen implementiert.es ist mit Swing-GUI benuzbar.ich möchte zusätzlich noch eine Option implementieren ,dass  auch zum bestimmten eingegebenen Zeitpunkt der PC von selbst ausgeschaltet wird.
geht das mit java?
für eure Hilfe wäre ich sehr dankbar.

Gruss Anna


----------



## dieta (10. Sep 2006)

Das geht schon mit Java, aber gibt es da das Problem, dass das Programm dann nicht mehr Platformunabhängig bist, da du in diesem Fall auf Betriebssystemspezifische Lösungen angeweisen bist. Ich habe so etwas mal für Windows XP geproggt:


```
try
		{
			String cmdBefehl = "shutdown.exe -s -t 0 -c \"\""; 
			Runtime.getRuntime().exec(""+cmdBefehl);
		}
		catch(Exception e)
		{
			System.err.println("Fehler beim Herunterfahren des Computers");
		}
```

Hinter -t im "cmdBefehl"-String kannst du noch eine Zeit in Sekunden eingeben, die der Computer bis zum herunterfahren warten soll.
Hinter -c im "cmdBefehl"-String kannst du noch in den escapten Anführungsstrichen einen Kommentar eingeben, den der Computer vor dem herunterfahren anzeigen soll.


----------



## L-ectron-X (10. Sep 2006)

Du kannst das Programm auch für andere Betriebssysteme bereitstellen, wenn du den OS-Typ abfragst und dementsprechend den Befehl zum Herunterfahren anpasst.


----------



## anna (10. Sep 2006)

dieta hat gesagt.:
			
		

> Das geht schon mit Java, aber gibt es da das Problem, dass das Programm dann nicht mehr Platformunabhängig bist, da du in diesem Fall auf Betriebssystemspezifische Lösungen angeweisen bist. Ich habe so etwas mal für Windows XP geproggt:
> 
> 
> ```
> ...


//    kannst du mir bitte ein Beispiel schreiben,wo&wie man das genau schreibt.


----------



## dieta (10. Sep 2006)

Wenn du z.B. möchtest, dass der Computer vor dem herunterfahren erst mal 10 sek. waretet und einen Dialog (eigentlich in diesem Fall eher ein Monolog) anzeigt, geht das z.B. so:

```
try
{
  String cmdBefehl = "shutdown.exe -s -t 10 -c \"\""; //<-- Da wird hinter dem -t jetzt statt einer 0 eine 10 angegeben
  Runtime.getRuntime().exec(""+cmdBefehl);
}
catch(Exception e)
{
  System.err.println("Fehler beim Herunterfahren des Computers");
}
```

Wenn du nun noch möchtest, dass der Computer in diesem Dia-(Mono-?)log noch eine kleine Nachricht anzeigt, geht das so:

```
try
{
  String cmdBefehl = "shutdown.exe -s -t 10 -c \"Der Computer wird jetzt heruntergefahren.\""; //<-- Da wird hinter dem -c jetzt zwischen den "escapten" Anführungsstrichen noch der gewünschte Text angegeben.
  Runtime.getRuntime().exec(""+cmdBefehl);
}
catch(Exception e)
{
  System.err.println("Fehler beim Herunterfahren des Computers");
}
```


----------



## Ocean-Driver (9. Jan 2007)

Kann ich die Sekunden auch durch ne Variable deklarieren?


----------



## Gast (9. Jan 2007)

ja


----------



## Ocean-Driver (9. Jan 2007)

Wie denn? ^^


----------



## peppermint (10. Jan 2007)

hmmm, wie wärs mit String zusammenbauen...


```
int sec
.
.
.
try
{
  String cmdBefehl = "shutdown.exe -s -t " + sec + " -c \"Der Computer wird jetzt heruntergefahren.\""; //<-- Da wird hinter dem -c jetzt zwischen den "escapten" Anführungsstrichen noch der gewünschte Text angegeben.
  Runtime.getRuntime().exec(""+cmdBefehl);
}
catch(Exception e)
{
  System.err.println("Fehler beim Herunterfahren des Computers");
}
```

Der Variable sec kannste dann im Prog nen Wert zuweisen, z.B. 5 Sekunden.


----------



## babuschka (5. Mai 2007)

stellste vielleicht deinen Wecker hier rein?


----------



## Leroy42 (5. Mai 2007)

BlackPanther277 hat gesagt.:
			
		

> stellste vielleicht deinen Wecker hier rein?



Jau! Würde ich auch gerne mal sehen...


----------

