编程语言
首页 > 编程语言> > java – 以管理员身份运行命令提示符

java – 以管理员身份运行命令提示符

作者:互联网

我正在开发一个小型关机调度程序项目,我必须将计算机置于“待机”模式.我正在使用的命令是

Runtime.getRuntime().exec("cmd /c Powrprof.dll,SetSuspendState ");

此命令需要管理员权限,我不知道如何获取.此外,在搜索以前的答案时,我发现我可以使用elevate.exe作为

Runtime.getRuntime().exec("c:/elevate Rundll32.exe Powrprof.dll,SetSuspendState ");

Elevate.exe正在执行任务,但耗费了太多时间,即使软件变慢.有没有其他快速的方式?我正在使用Netbeans IDE.

解决方法:

你有几个选择

A.使用admin priv创建快捷方式.

该快捷方式将运行cmd / c Rundll32.exe Powrprof.dll,SetSuspendState

您的Java代码将运行快捷方式:

Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c start \"\" \"myshortcut.lnk\"")

右键单击快捷图标>属性>高级>以管理员身份运行

B.以管理员身份运行java进程

再次,创建一个快捷方式并设置为以管理员身份运行.生成的任何进程也将具有管理员权限.你的java代码将运行:

rt.exec("cmd /c Powrprof.dll,SetSuspendState")

C.使用JNA直接调用SetSuspendState例程. Java进程将需要admin priv(如B),但您不必生成进程.如果你喜欢这个,我可以提供源代码.

D.使用wizmo实用程序:wizmo安静待机

标签:java,command-prompt,command-line
来源: https://codeday.me/bug/20190916/1808218.html