Question

Y at-il commande à utiliser sur les fenêtres de java pour rendre le sommeil ordinateur?

Était-ce utile?

La solution

Vous pouvez le faire en exécutant une commande shell, si vous application java assez de droits a pour le faire. La commande est ...

Runtime.getRuntime().exec("Rundll32.exe powrprof.dll,SetSuspendState Sleep");

Ce et d'autres commandes sont affichés ici .

Autres conseils

Toute personne suggérant rundll32 devrait être tiré, très peu de fonctions sont conçues pour être appelé par rundll32 et SetSuspendState est pas un d'entre eux. Vous aurez un comportement aléatoire (mise en veille prolongée vs veille et forcé vs pas forcé etc) Voir

Je suis actuellement résolu ce problème en utilisant https://github.com/twall/jna . Informations sur l'appel de http://www.pinvoke.net/default.aspx/powrprof. SetSuspendState

import com.sun.jna.Native;
import com.sun.jna.Platform;
public class WindowsSuspend {
  public static native boolean SetSuspendState(boolean hibernate, boolean forceCritical, boolean disableWakeEvent);

  static {
    if (Platform.isWindows())
      Native.register("powrprof");
  }
}

Appelez-que avec WindowsSuspend.SetSuspendState(false, false, false).

Non. Vous auriez besoin d'exécuter un binaire séparé par Runtime.exec().

Cet article suggère

rundll32 Powrprof.dll,SetSuspendState 

mais je ne l'ai pas essayé.

Vous pouvez regarder le OnNow / Support ici .

Il y a aussi un ancien poste SO qui parle à ce sujet ici. Probablement l'inverse de ce que vous voulez. Pourriez-vous donner quelques indices bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top