从 Java 睡眠 Windows
题
java中有没有可以在windows上使用的命令来让计算机进入睡眠状态?
解决方案
您可以通过执行shell命令做到这一点,如果你的Java应用程序有足够的权利这样做。该命令是...
Runtime.getRuntime().exec("Rundll32.exe powrprof.dll,SetSuspendState Sleep");
这和其它命令被示此处一>。
其他提示
任何建议RUNDLL32应该出手,只有极少数的功能设计成由RUNDLL32被调用,SetSuspendState是不可以其中之一。您将获得随机的行为(休眠VS待机和强制VS不强迫等)查看的有关详细信息,该博客条目的。
我目前使用 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)
。
不隶属于 StackOverflow