java中有没有可以在windows上使用的命令来让计算机进入睡眠状态?

有帮助吗?

解决方案

您可以通过执行shell命令做到这一点,如果你的Java应用程序有足够的权利这样做。该命令是...

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

这和其它命令被示此处

其他提示

我目前使用 https://github.com/twall/jna 解决了这个。有关从 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");
  }
}

通话它比用WindowsSuspend.SetSuspendState(false, false, false)

没有。你需要执行经由Runtime.exec()一个单独的二进制。

此文章表明

rundll32 Powrprof.dll,SetSuspendState 

但我从来没有尝试过。

您可能想查看 OnNow/ACPI 支持 这里.

还有一个旧的 SO 帖子谈到了它 这里。可能与你想要的相反。不过可能会给你一些线索。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top