Java を使用してプログラムで Windows をシャットダウンすることは可能ですか?
乾杯
String shutdownCmd = "shutdown -s";
Process child = Runtime.getRuntime().exec(shutdownCmd);
表示を楽しむためのシャットダウン コマンドの詳細情報
興味のあるその他のコマンド ライン オプションを次に示します。
-i GUI インターフェイスを表示します。最初のオプションである必要があります
-l ログオフ (-m オプションでは使用できません)
-r コンピュータをシャットダウンして再起動する
-m \computername (シャットダウン/再起動/中止するリモート コンピューター)
-t xx シャットダウンのタイムアウトを xx 秒に設定します
-c "comment" シャットダウン コメント (最大 127 文字)
もちろん、この方法でやりたくない場合は、ダウンロードできるライブラリがあります。この一例は、Java Windows Shutdown Functionsです。
彼らの SourceForge ページによると:
JWSF - Java Windows Shutdown Functions API を使用すると、Java アプリケーションはほとんどの Windows オペレーティング システムで、シャットダウン、再起動、ログオフ、ワークステーションのロックなどの操作を実行できます。JWSF は、JNI を使用してネイティブ呼び出しを行います。JWSF は LGPL ライセンスの対象です
This can also be done using WMI, for example via JACOB:
import java.util.Enumeration;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.EnumVariant;
import com.jacob.com.Variant;
public abstract class Shutdown {
public static void main(String[] args) {
ComThread.InitMTA();
try {
ActiveXComponent wmi = new ActiveXComponent("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\\\.");
Variant instances = wmi.invoke("InstancesOf", "Win32_OperatingSystem");
Enumeration<Variant> en = new EnumVariant(instances.getDispatch());
ActiveXComponent os =
new ActiveXComponent(en.nextElement().getDispatch());
os.invoke("Win32Shutdown", 1, 0);
} finally {
ComThread.Release();
}
}
}
コマンド「shutdown -s」を実行します。
編集:このようなもの:
Process p = Runtime.getRuntime().exec("shutdown -s");