コンピューターをスリープ状態にするために Java から Windows で使用するコマンドはありますか?
質問する
7419 次
6 に答える
9
Javaアプリに十分な権限がある場合は、シェルコマンドを実行することでそれを行うことができます。コマンドは...
Runtime.getRuntime().exec("Rundll32.exe powrprof.dll,SetSuspendState Sleep");
そのコマンドとその他のコマンドをここに示します。
于 2009-09-02T17:48:22.827 に答える
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)
ます。
于 2013-02-12T18:46:30.980 に答える
6
rundll32 を撃つべきだと提案する人は誰でも、rundll32 によって呼び出されるように設計された関数はほとんどなく、SetSuspendState はその 1 つではありません。ランダムな動作が得られます (休止状態とスタンバイ、強制と非強制など) 。詳細については、このブログ エントリを参照してください。
于 2009-09-02T20:05:28.337 に答える
0
いいえ。 経由で別のバイナリを実行する必要がありますRuntime.exec()
。
この記事は提案します
rundll32 Powrprof.dll,SetSuspendState
しかし、私はそれを試していません。
于 2009-09-02T17:46:25.310 に答える