2016-05-08 48 views
2

同じ質問をする質問がたくさんあることは知っていますが、それらの回答には見つからないので、これは具体的な方法です。Windowsの管理者としてjarファイルを実行してください

は、私は(私が間違っているなら、私を修正)ことを知っている:

  1. これを行うために、私は、WindowsのUACメカニズムと対話する必要があります。
  2. 純粋なJavaコードではできません。バッチファイルやVBSスクリプトの助けが必要です。
  3. アプリケーションを再起動する必要なく、Java実行プロセスを昇格させて管理者特権を得ることはできません。
  4. .jarファイルを昇格させると、JVMとJVMに依存する他のすべてのプロセスも昇格しますが、セキュリティ上の問題があります。

私は、Javaアプリケーション(.jarファイル)が管理者権限で始まることを目標にしています。もしそれを得るには、ユーザはいくつかのUACウィンドウをクリックしなければならない。

私の質問(私は得ることができないと、特定の答えはほとんど同じことを求める他の投稿を読む)。 どうすればいいですか?作成するファイルと内容は何ですか?.batまたは.vbs)、これらのファイルを.jarファイルに入れることはできますか?私のアプリに実装する必要があるJavaコードは何ですか?

できるだけ具体的に解決するようにしてください。他の投稿の回答は、あまりにも漠然としている(「可能な」解決策について話すが、具体的かつ完全なものは言及しない)、あまりにも多く説明し、特定の方法やコードを提示しない。

答えて

0

より簡単です。 java -jar yourfile.jarを実行すると、アプリケーションが起動するように、デフォルトのクラスでjarファイルを作成します。実行許可を与えます。すべてが完了したら、jarファイルを右クリックし、「管理者として開始」(または同様のもの)を選択します。以上です。

ユーザーを支援するため、管理者のアクセス許可があるかどうかを確認するクラスを作成します。そうでない場合は、ユーザーにプロンプ​​トを出し、前述のように指示します。

+0

'.jar'を右クリックするとメニューに「管理者として起動」オプションが表示され、表示されないオプション(理由を知らない)を選択しても問題ありません。 '.jar'はGUIアプリケーションであり、私はこのプロセスをユーザーにとって最も透過的かつ自動的に可能にしたいと考えています。 – FiroKun

+0

互換性(コンテキストメニューの下)に移動し、オプションを確認します。常に管理者としてアプリケーションを開くオプションが必要です。 – mhyst

+0

これを見てくださいhttps://jpassing.com/2007/12/08/launch-elevated-processes-from-the-command-line/ – mhyst

4

さて、あなたには2つの選択肢があります。

まず:管理者とオープン瓶などのオープンCMD:最初の管理者として

Runコマンドプロンプト。

Start > cmd > right click > run as administrator. 

java -jar c:\path\to\jar\file.jar 

セカンドを使用してjarファイルを実行します。管理者権限のためにあなたが最後の行だけを変更する必要があり

@echo off 
:: BatchGotAdmin (Run as Admin code starts) 
REM --> Check for permissions 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
REM --> If error flag set, we do not have admin. 
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges... 
goto UACPrompt 
) else (goto gotAdmin) 
:UACPrompt 
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" 
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" 
"%temp%\getadmin.vbs" 
exit /B 
:gotAdmin 
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs") 
pushd "%CD%" 
CD /D "%~dp0" 
:: BatchGotAdmin (Run as Admin code ends) 
:: Your codes should start from the following line 
java -jar c:\path\to\jar\file.jar 

注意を尋ねる.BATファイルを作成します。

私は、同じフォルダ内に .batファイルの.jarの両方を配置し、唯一の最後の行を変更しますthis pageに基づいて

java -jar ./file.jar 

回答。

希望すると便利です。

関連する問題