2011-10-20 12 views
1

私はJavaプロジェクトを作成中です。このプロジェクトでは、システムで何らかのプロセスを実行するために管理者権限が必要です。このため、プロジェクトの開始時に管理者権限を与える方法はありますか? javaから管理者権限でコマンドプロンプトを起動する方法はありますか?管理者としてjavaからコマンドプロンプト(CMD)を開始

+0

関連:[Windowsで管理者としてJavaアプリケーションを実行する方法](http://stackoverflow.com/questions/1385866) – McDowell

答えて

3

免責事項:私はあなたが、私がお勧めしたい2つの方法があり、Windowsプラットフォーム用に特別に

これを求めていると仮定します。

runasプログラムを使用しますが

これは最も簡単な方法です。実際にはコンソールウィンドウが必要なので、パスワードプロンプトは見苦しくはありません。一方、ユーザは、パスワードをコンソールウィンドウに入力することに疑念を感じるかもしれない。

これはWin32のJavaライブラリを使用する必要がありますCreateProcessWithLogonW API関数

を使用してください。 (私はJNAをお勧めしたい)。これはもう少し作業ですが、標準のWindowsログインダイアログのためにユーザーエクスペリエンスが向上する可能性があります。

1

管理者特権を要求するだけでは、管理者特権で起動していないアプリケーションから管理コマンドラインを起動することはできません。これは深刻なセキュリティ上の問題になります。

代わりに、あなたのアプリが管理者権限で起動されているかどうかを確認することができます(これをアーカイブする方法について少しの方法を示しています)。

これはすべてのプラットフォームを対象とする標準化された方法がないため、残念なことに、この継ぎ目は大きな問題になります。しかし、このスレッドがいくつかのアイデアを与える:Detect if Java application was run as a Windows admin

関連する問題