1

Javaアプリケーションがjar()としてバンドルされているとしましょうTestExec.jar

この問題は、誰が自分のアプリケーションを呼び出したかを追跡したい場合に発生します。つまり、スタンドアロンアプリケーションである場合、コマンドライン(のようにjava -jar TextExec.jar)またはダブルクリックするか、スケジュールされたタスク(ウィンドウのように)を介して誰かが呼び出したものです。

だから私は...それがコマンドラインを介しているか、ダブルクリックまたはスケジュールされたタックを介しているかどうかを追跡したいです。

施設などはありますか:)

4

3 に答える 3

4

判別する唯一の方法は、コマンド ライン引数または環境に基づいています。これを間接的に解決できるかもしれませんが、プログラムがどのように動作すると予想されるかをプログラムに伝える特定の引数を追加することをお勧めします。

于 2012-09-25T07:53:48.680 に答える
2

jar にメイン クラスがあり、jar を呼び出して誰がその jar を使用したかを追跡したい場合、次のいずれかの方法でユーザー情報を取得できます。

  • 環境からの使用user.name(非常に安全性が低い)
  • 基礎となる OS からユーザーの詳細を取得します (NTSystem/UnixSystem を使用)
  • Active Directory や Kerberos KDC などのディレクトリ サーバーを使用してユーザーを認証します。

ユーザーの詳細を取得したら、それらを共通の場所に記録できます。

于 2012-09-25T07:55:34.107 に答える
0

異なるパラメーター値でそれを呼び出す外部ファイルを作成できます。たとえば、src=bat を渡すバッチ ファイルを作成し、Windows サービスを作成して src=service で呼び出す別のファイルを作成します。自分で何かを渡さないと、わからないと思います。

于 2012-09-25T07:57:56.660 に答える