繁体   English   中英

使用Java关闭Windows

[英]Shutdown Windows with Java

是否可以使用Java以编程方式关闭Windows?

干杯

String shutdownCmd = "shutdown -s"
Process child = Runtime.getRuntime().exec(shutdownCmd);

有关shutdown命令的更多信息,以供您欣赏

您可能会感兴趣的其他一些命令行选项是

-i显示GUI界面,必须是第一个选项

-l注销(不能与-m选项一起使用)

-r关闭并重新启动计算机

-m \\计算机名(将计算机远程关闭/重新启动/中止)

-t xx将关机超时设置为xx秒

-c“注释”关闭注释(最多127个字符)


当然,如果您不想使用此方法,则可以下载一些库来实现此目的。 Java Windows Shutdown Functions就是一个例子。

根据他们的SourceForge页面:

JWSF-Java Windows关闭功能API允许Java应用程序在大多数Windows操作系统上执行以下操作,关闭,重新启动,注销,锁定工作站。 JWSF使用JNI进行本地调用。 JWSF受LGPL许可证的约束

运行命令“ shutdown -s”。

编辑:像这样:

Process p = Runtime.getRuntime().exec("shutdown -s");

这也可以使用WMI来完成,例如通过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();
        }
    }

}

如果要在特定时间内关闭它,请附加-t参数(以秒为单位)。

五秒钟:

String shutdownCmd = "shutdown -s -t5";

亲爱的

-是否可以使用java关闭远程 PC?-如果可以执行此操作,我们可以使用Scanner方法或Text-field通过变量插入计算机名称。 任何人都可以通过写正确的代码来帮助我,就像我喜欢通过以下命令关闭或重新启动PC的战争一样

字符串shutdownCmd =“ shutdown -s”子进程= Runtime.getRuntime()。exec(shutdownCmd);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM