【发布时间】:2010-11-25 01:02:10
【问题描述】:
在windows上有java命令可以让电脑休眠吗?
【问题讨论】:
-
删除了 hibernate 标签,因为它引用了 ORM。
标签: java windows sleep standby
在windows上有java命令可以让电脑休眠吗?
【问题讨论】:
标签: java windows sleep standby
一个更复杂的方法,但你可以使用ProcessBuilder 来制作一个shell 脚本(.sh 或.bat)并执行它。
【讨论】:
我目前使用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)。
【讨论】:
任何建议rundll32的人都应该被枪毙,很少有函数被设计为由rundll32调用,而SetSuspendState不是其中之一。您将获得随机行为(休眠与待机和强制与非强制等)请参阅this blog entry for more details。
【讨论】:
如果您的 java 应用程序有足够的权限,您可以通过执行 shell 命令来执行此操作。命令是……
Runtime.getRuntime().exec("Rundll32.exe powrprof.dll,SetSuspendState Sleep");
该命令和其他命令显示为here。
【讨论】:
【讨论】: