13

私は、コンピューターを"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 を使用しています。

4

4 に答える 4

10
  Runtime.getRuntime().exec("runas /profile /user:Administrator \"cmd.exe /c Powrprof.dll,SetSuspendState\"");

また、コメントを参照してください

管理者権限なしで管理者として実行

于 2013-01-30T04:22:21.360 に答える
9

いくつかのオプションがあります

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 プロセスには管理者特権 (B など) が必要ですが、プロセスを生成する必要はありません。もしよろしければ、ソースコードを提供できます。

D. wizmoユーティリティを使用します。wizmo quiet standby

于 2013-01-30T04:50:36.310 に答える
6

パラメータを追加/savecred

runas /profile /user:Administrator /savecred

パスワードを 1 回入力します。将来、OS はパスワードを要求しなくなります。

于 2014-01-13T13:14:56.907 に答える