2012-03-02 11 views
2

私はWindows 7 Proを実行しており、EclipseのJavaアプリケーションで作業しています。コマンドプロンプトにユーザー指定のコマンド(chkdsk C: 'など)を送信し、コマンドプロンプトが表示された場合でもEclipseのコンソールに出力するには、Eclipseが必要です。私は送信コマンドと受信テキストを元に戻します。しかし、chkdskを実行するには、コマンドセッションの管理者権限が必要です。これを行うための一つの方法は、マニフェストファイルを介してであることを管理者としてJavaからWindowsコマンドラインを実行する - .manifestファイルを作成する

Java: run as administrator

:私はここのスレッドから参照してください。しかし、私はJavaのマニフェストファイルを作成する方法を理解できません:

.manifestファイルは.CLASSファイルでEclipseワークスペースに移動するだけですか?私がそれを置くと、私はプログラムを実行するたびに自動的に管理モードでプログラムを起動するでしょうか?

上記スレッドから与えられたリンク:

http://msdn.microsoft.com/en-us/library/bb756929.aspx

は、特定のVisual Studioの-のようです、マニフェストファイルのJavaプログラムのためのそこのコード例の仕事だろうか? Visual Studioで.manifestファイルを作成する必要がありますか、それとも単なるテキストファイルですか?

また、マニフェストファイルの名前はyourProgram.exe.manifest ... Javaは私が理解しているように.exeの実行ファイルを作成しないのですか?上記のようにマニフェストファイルの名前を付けるべきですか、それともあなたのProgram.CLASS.manifestのような名前が必要ですか?

ありがとうございました!

+0

Luke Woodwardによると、Javaマニフェスト(.MF)とWindowsスタイルマニフェスト(.manifest)は、2つの異なるファイルです。通常、JARのEXEランチャーを作成します。 Launch4JのようなEXEランチャーは、EXEにウィンドウスタイルマニフェストを埋め込むことができます。 http://stackoverflow.com/questions/258728/request-admin-privileges-for-java-app-on-windows-vistaのリンクを参照してください。 – ecle

答えて

2

アプリケーションマニフェストhereと、Javaマニフェストファイル(META-INF/MANIFEST.MFのJARファイル内)は、名前だけを共有する2つの完全に別個の概念です。 Java実行可能ファイルの昇格に役立つMETA-INF/MANIFEST.MFには何もありません。

さらに、クラスファイルではなく標高を必要とするJVMです。 .manifestファイルをすべてのクラスファイルに置き換えても、何も達成されません。

私がこのようなことをしなければならない場合は、elevate.exeのようなプログラムを使用してCHKDSKと呼ぶことをお勧めします。 elevate.exeは、あなたが言及した質問にリンクされているthis blog articleにあります。私はelevate.exeをテストしておらず、作者はもともとWindows Vista用に書いていたので、Windows 7でどれくらいうまく動作しているのか分かりません。CHKDSKは、仰角が必要なアプリケーションの唯一の部分だと思われます。そうであれば、セキュリティの観点からは、ほとんどの時間を管理することなく、アプリ全体を常に上げないことが理にかなっています。

関連する問題