是否有命令在java上使用Windows来使计算机进入睡眠状态?
答案 0 :(得分:9)
如果java app有足够的权限,可以通过执行shell命令来执行此操作。命令是......
Runtime.getRuntime().exec("Rundll32.exe powrprof.dll,SetSuspendState Sleep");
显示该命令和其他命令here。
答案 1 :(得分:6)
任何人都建议使用rundll32,很少有函数被设计为由rundll32调用,而SetSuspendState是不其中之一。您将获得随机行为(Hibernate vs Standby和Forced vs not forced等)请参阅this blog entry for more details。
答案 2 :(得分:6)
我目前使用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)
”。
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)
稍微复杂一点的方法,但是您可以使用import Font from '@ckeditor/ckeditor5-font/src/font';
来制作Shell脚本(import FontSize from '@ckeditor/ckeditor5-font/src/fontsize';
或ProcessBuilder
)并执行它。