0

この質問の複製。

更新- これは正確な複製ではありません。私の解決策を見てください。

プロセス エクスプローラーに java.exe プロセスが表示されます。それをダブルクリックすると、その作業ディレクトリと開始コマンド ライン引数が表示されます。

.NET から次のコードを実行し、同じ PID を持つプロセスを取得しますが、上記のフィールドは空です。どうやら、これは文書化されています

foreach (Process process in Process.GetProcessesByName("java"))
{ 
  ...
}

では、プロセス メモリを手動で覗き込むことなく、正しい startinfo フィールド値を取得するにはどうすればよいでしょうか(つまり、プロセス メモリを自分でハックするのではなく、どこかからこのコードを盗みたいのです)。

4

2 に答える 2

0

質問に記載した投稿によると、それを行う方法は、プロセスメモリを覗くことです。.NET からプロセスを開始しなかったため、.NET クラスはデータをロードしません。

于 2009-01-13T16:37:42.660 に答える
0

これを達成するためのコードをいくつか書きました (ブログ投稿zip への直接リンク)。

要するに、この質問は大いに役立ちました。CodeProject コードを取得し、コマンド ライン ユーティリティでラップしてから、C# ラッパーでラップしました。

于 2009-01-14T08:14:11.507 に答える