0

私はプログラミングでJavaを使用しており、実行中かどうかにかかわらず、いくつかのプロセスを監視したいと考えています。実装プラットフォームを独立させなければなりません。さまざまな OS (Windows XP、7 & 2000) をサポートし、この OS はさまざまな言語 (フランス語、英語、日本語、中国語、アラビア語、RTL など ...) でサポートされています。

最初はコマンドラインを使ってみたのですが、コマンドの応答がOS言語なので、OSがフランス語ならフランス語、英語なら英語で応答するという問題に直面しました。

コマンドを別の方法で使用しましたが、エンコーディングに関する別の問題に直面したため、コマンドを呼び出す前にエンコーディングを UTS8 に設定する必要があります。これは英語とフランス語で機能しますが、中国語と RTL 言語では機能するとは思えません.

より良いソリューションの手がかりはありますか?

前もって感謝します

4

2 に答える 2

0

私はプログラミングでJavaを使用しており、実行されているかどうかにかかわらず、いくつかのプロセスを監視したいと考えています。

率直に言って、これはJavaでは解決が難しい問題です。Javaはクロスプラットフォームであることが意図されているため、プラットフォーム固有の機能からユーザーを分離します。したがって、Javaで実行中のプロセスのリストを取得する「公式の」方法はありません。いくつかのハック(erloeweによって説明されている「タスクリスト」の呼び出しなど)がありますが、実際の解決策はありません。

最善の策は、おそらく他の言語(C、Perl、VBScriptなど)でプログラムを作成し、Javaから呼び出すことです。

于 2011-02-05T17:56:15.970 に答える
0

すべてのオペレーティング システムは非常に異なるため、これを行うための普遍的に受け入れられている方法はありません。私たちが利用できる2 つのアプローチは、おそらく最良の方法です。tasklistで言語の問題が発生した場合は、おそらく vbs バージョンを確認する必要があります。その利点は、言語や Windows のバージョンに関係なく動作することです。

于 2011-02-05T15:17:36.220 に答える