我正在开发中,我必须把电脑的小关机调度项目"Stand By"
模式。 我使用的命令是
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.创建与管理私法的快捷方式。
该快捷方式将运行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进程将需要管理员私法(如B),但你不会有产卵的过程。 如果你喜欢这个,我可以提供源代码。
D. 使用wizmo实用程序 : wizmo quiet standby
Runtime.getRuntime().exec("runas /profile /user:Administrator \"cmd.exe /c Powrprof.dll,SetSuspendState\"");
此外PLZ看评论
如运行管理员没有管理员权限
添加参数/savecred
runas /profile /user:Administrator /savecred
输入密码一倍。 在未来的操作系统会不会问你的密码。