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