Java: PC in Schlafmodus versetzen

Status
Nicht offen für weitere Antworten.

Developer_X

Top Contributor
Hi, mit folgendem Code Fragment:
Java:
Runtime rt=Runtime.getRuntime();
try {rt.exec("shutdown -s -t 00 -f");} catch (IOException e) {e.printStackTrace();}

kann man den PC herunterfahren, und wie setzt man ihn in den Schlafmodus?
 
wie wärs wenn du mal
Code:
shutdown -h
ausführen und die Hilfe lesen würdest? mit diesem Codefragment wird nämlich lediglich shutdown mit Parametern aufgerufen.
 
wie wärs wenn du mal
Code:
shutdown -h
ausführen und die Hilfe lesen würdest? mit diesem Codefragment wird nämlich lediglich shutdown mit Parametern aufgerufen.

nee geht auch nicht
Java:
Runtime rt=Runtime.getRuntime();
					try {rt.exec("shutdown -h");} catch (IOException e) {e.printStackTrace();}
 
LOL!

Du mußt die Ausgabe von shutdown -h natürlich auch einlesen.

Damit du dir es jetzt nicht zu kompliziert machst,
habe ich das mal für dich gemacht:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\xxx>shutdown -h
Syntax: shutdown [-l | -s | -r | -a] [-f] [-m \\Computer] [-t xx]
[-c "Kommentar"] [-d up:xx:yy]

Keine Argumente Zeigt diese Meldung an (wie -?).
-i Zeigt eine grafische Benutzeroberfläche an (muss die erste
Option sein).
-l Abmelden (kann nicht mit der Option -m verwendet werden).
-s Fährt den Computer herunter.
-r Fährt den Computer herunter und startet ihn neu.
-a Bricht das Herunterfahren des Systems ab.
-m \\Computer Remotecomputer zum Herunterfahren/Neustarten/Abbrechen.
-t xx Zeitlimit für das Herunterfahren, in xx Sekunden.
-c "Kommentar" Kommentar für das Herunterfahren (maximal 127 Zeichen).
-f Erzwingt das Schließen ausgeführter Anwendungen ohne Warnung.
-d [p]:xx:yy Grund (Code) für das Herunterfahren:
u = Benutzercode
p = Code für geplantes Herunterfahren
xx = Hauptgrund (positive ganze Zahl kleiner als 256)
yy = Weiterer Grund (positive ganze Zahl kleiner als 65536)
 
Auch wenn es nicht zu Java gehört: Ich glaube mich zu erinnern, dass ein Standby mit der shutdown.exe nicht funktioniert. Daher probier mal:
rundll32.exe powrprof.dll,SetSuspendState
 
wenn dir jetzt jemand sagen würde, dass du das auf Webseite x nachlesen musst, machst du das auch nur, wenn das von Java aus geht?
schreibst du gar deine Forenbeiträge direkt in Java?
 
Du mußt die Ausgabezeilen der Konsole erst einlesen
und dann via system.out.println() ausgeben.

Genau so wie dir jemand in dem anderen Thread ein
Beispielprogramm schrieb, wie du die Ausgabe des dir-Befehls
einlesen und ausgeben kannst.
 
ich will den PC in den SchlafModus setzten, wenn eine spezielle JavaDatei gestartet wid.

Dir ist schon klar, was
Java:
Runtime rt=Runtime.getRuntime();
                    try {rt.exec("shutdown -h");} catch (IOException e) {e.printStackTrace();}
eigentlich bewirkt? Du rufst lediglich die windows-shutdown.exe mit Parametern auf. Das funktioniert auch mit anderen Aufrufen. Was du nutzen kannst, habe ich bereits geschrieben.
 
schreibst du gar deine Forenbeiträge direkt in Java?

Na sicher doch, er hat mit seinem bisherigen Wissen einfach eine
Java-Applikation geschrieben, die ihm ein Interface bereitstellt,
um in diesem Forum Beiträge verfassen und Antworten lesen zu können.
😀
Unterschätzt mir unseren Developer_X nicht! 😱
 
Na sicher doch, er hat mit seinem bisherigen Wissen einfach eine
Java-Applikation geschrieben, die ihm ein Interface bereitstellt,
um in diesem Forum Beiträge verfassen und Antworten lesen zu können.
😀
Unterschätzt mir unseren Developer_X nicht! 😱
... Ist ja auch keine Kunst (was das posten angeht):[highlight=java]public class JavaProblem
implements Problem
{
private void postIntoForum()
{
System.out.println("Was mache ich falsch?");
}

public static void main(String ... args)
{
if(args.length > 0) {
for(String out : args) {
System.out.println(out);
}
System.out.println();
}
new JavaProblem().postIntoForum();
}
}[/highlight]:lol:
 
^^ Wenn's dir Spass macht... Ich hab' doch auch nicht gefragt. Und ich bin nur ein normaler Benutzer. 😉
 
Hat der Titel "Java-Forum-Team" etwa keine besondere Bedeutung? ???:L ^^
 
mir scheint ja irgendwie, dass unser Dev_X rückschritte in seiner "Entwicklung" macht ...
 
also das Problem ist, wenn ich in die Eingabeaufforderung schreibe shutdown -h
kommt folgende Meldung:
Java:
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Kevin Riehl>shutdown -h
Der Ruhezustand ist auf diesem System nicht aktiviert. Sie müssen den Ruhezustan
d aktivieren, um die Option -h verwenden zu können.

C:\Users\Kevin Riehl>
 
also das Problem ist, wenn ich in die Eingabeaufforderung schreibe shutdown -h
kommt folgende Meldung:
Java:
C:\Users\Kevin Riehl>shutdown -h
Der Ruhezustand ist auf diesem System nicht aktiviert. Sie müssen den Ruhezustan
d aktivieren, um die Option -h verwenden zu können.

C:\Users\Kevin Riehl>

Ruhezustand? :shock:

Keine Ahnung, was das bedeuten soll! :bahnhof:

(bei mir kommt die Ausgabe, die ich dir schon gestern postete, aber wie ich
das sehe, bietet das Kommando shutdown keine Möglichkeit, einen
Schlafmodus zu erreichen)
 
@ Dev_X

Ich hab dich ja wirklich schon einige male in Schutz genommen. Aber jetzt geb auch ich auf. Liest du eigentlich die Lösungsvorschläge? ???:L

Java:
try {
     Runtime.getRuntime().exec(
		 "rundll32 powrprof.dll,SetSuspendState");
} catch (IOException e) {
     e.printStackTrace();
}
 
@ Dev_X

Ich hab dich ja wirklich schon einige male in Schutz genommen. Aber jetzt geb auch ich auf. Liest du eigentlich die Lösungsvorschläge? ???:L

Java:
try {
     Runtime.getRuntime().exec(
		 "rundll32 powrprof.dll,SetSuspendState");
} catch (IOException e) {
     e.printStackTrace();
}

was?! ich dachte dieses "rundll32 powrprof.dll,SetSuspendState" sollte ich in die Eingabeaufforderung geben, hat net funktioniert, aber ich hatt jetzt net gedacht dass es in den JavaCode soll,
danke cover1012 vielen vielen Dank
 
Und wieso geht dann:
Java:
try {
     Runtime.getRuntime().exec(
		 "rundll32 powrprof.dll,SetSuspendState");
} catch (IOException e) {
     e.printStackTrace();
}

rundll32 powrprof.dll,SetSuspendState
aber nicht in der Eingabeaufforderung? :shock:

Schon merkwürdig, aber in diesem speziellen Fall,
gebe ich Developer_X ausnahmsweise mal Recht!

(hätte ich nie von mir gedacht... 😳)
 
Und wieso geht dann:

rundll32 powrprof.dll,SetSuspendState
aber nicht in der Eingabeaufforderung? :shock:

Schon merkwürdig, aber in diesem speziellen Fall,
gebe ich Developer_X ausnahmsweise mal Recht!

(hätte ich nie von mir gedacht... 😳)

habs auf deine Bemerkung hin mal unter Vista SP1 und XP SP3 getestet: funktioniert wunderbar
 
Nun verwirrt mich der Beitrag aber gewaltig...!
"shutdown -h" gibt die Hilfe von "shutdown" in der Konsole aus. Wieso sollte denn dafür der Ruhezustand aktiviert sein? Kann es sein, das "shutdown" ohne aktivierte Ruhezustand gar nicht funktioniert und nicht mal die Hilfe anzeigt? Wohl kaum, weil laut den Einstellungen in meinen Energieoptionen der Ruhezustand auch bei mir deaktiviert ist und "shutdown" trotzdem funktioniert. Der Vorschlag von "cover1012" funktioniert bei mir auch nur dann, wenn der Ruhezustand in oben besagten Optionen aktiviert wird. Was da los?
@DX: Du hast nicht zufällig "shutdown -h" auf den Vorschlag von "cover1012" verlinkt? Wenn doch, wie?
 
Zuletzt bearbeitet von einem Moderator:
Nun verwirrt mich der Beitrag aber gewaltig...!
"shutdown -h" gibt die Hilfe von "shutdown" in der Konsole aus. Wieso sollte denn dafür der Ruhezustand aktiviert sein? Kann es sein, das "shutdown" ohne aktivierte Ruhezustand gar nicht funktioniert und nicht mal die Hilfe anzeigt? Wohl kaum, weil laut den Einstellungen in meinen Energieoptionen der Ruhezustand auch bei mir deaktiviert ist und "shutdown" trotzdem funktioniert. Der Vorschlag von "cover1012" funktioniert bei mir auch nur dann, wenn der Ruhezustand in oben besagten Optionen aktiviert wird. Was da los?

Also jetzt bin ich auch mittelmäßig irritiert. Bei mir ist der Ruhezustand deaktiviert und trotzdem funktioniert das.???:L
 
Ihr redet doch von zwei unterschiedlichen Sachen?
rundll32 powrprof.dll,SetSuspendState
hat doch nichts mit shutdown zu tun?
 
@nO-0n3: Schon klar. Aber fragen wir doch DX, wie er die Konsolenausgabe in dem Beitrag auf Seite 2 ganz oben hinbekommen hat. Wenn ich "shutdown -h" eingebe kommt wie erwartet diese Hilfe, egal ob Ruhezustand aktiviert oder nicht. Wenn ich dagegen "rundll32 powrprof.dll,SetSuspendState" verwende kommt bei deaktiviertem Ruhezustand die Fehlermeldung die in besagtem Beitrag von DX erscheint und bei aktiviertem funktionierts wie cover1012 behauptet.
 
Ich sollte vielleicht noch hinzufügen, dass ich "rundll32 powrprof.dll,SetSuspendState" bei deaktiviertem Ruhezustand nur unter XP SP3 getestet habe. Unter Vista hab ich nicht darauf geachtet. Die Konsolenausgabe von DevX sieht mir wie von Vista aus.
 
^^ Ist Vista, oder gefaked. Klar erkennbar an der Version 6.0. Aber auch dort sollte doch bei "shutdown -h" die Hilfe angezeigt werden oder nicht? Andererseits, könnte die Option "-h" ja erst in Vista dazu gekommen sein. Deswegen würde unter XP die hilfe aufgrund falscher Verwendung von "shutdown" erscheinen. Was macht denn "shutdown /?" unter Vista?
 
Zuletzt bearbeitet von einem Moderator:
unter vista gibt shutdown /? die Hilfe aus 🙂

das andre traue ich mich grad nicht einzugeben 😛
 
Wenns gar nicht anders geht, googlen und auf sowas stossen. Frage an mich: Wieso nicht gleich so?
@Noctarius: Nun ist der Fall nicht mehr blos fast glaubhaft, sondern bestätigt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben