web-dev-qa-db-ja.com

実行中の* .exeのPATHを取得する

私は現在、インターネットカフェ用にカスタマイズされたCafeSuiteシステムを開発しています。そして、私はJavaとJNI(Java Native Interface)を使用してWindowsレジストリを通過しています。しかし、このモジュールを取得できないか、WindowsXPで作業できるかどうかを確認できません。 。

コマンドラインでtasklistまたはtlistをコマンドすると、システムで実行中の*.exeがすべて返されます。しかし、行に追加できるすべてのパラメーターがあるため、*。exeが実行されたディレクトリまたはpathを返すパラメーターが表示されません。

残念ながら、私はWindows Server OSを使用しておらず、UACのファイアウォールやOSのユーザーアカウント制御機能に依存していません。

与えられた手段で、そのような概念を追求することは可能ですか?

6
David B

XP以上では、パスを表示する「システム情報」ツールを使用できます。これは、「スタート」→「すべてのプログラム」→「アクセサリ」→「」のメニューから実行できます。 「システムツール」、またはコマンドラインからmsinfo32(または「開始」→「実行…」→msinfo32ENTER)。

「ソフトウェア環境」→「実行中のタスク」をクリックすると、パスが表示されます。

http://www.raymond.cc/blog/determine-program-path-from-task-manager-for-each-program-in-windows-xp-windows-server-2003/

enter image description here

7
GlennG

Windows Powershellを使用して、「firefox.exe」のパスを確認したい場合は、次のようにします。

(Get-WmiObject -class Win32_Process -Filter 'Name="firefox.exe"').path.SubString(0, (Get-WmiObject -class Win32_Process -Filter 'Name="firefox.exe"').path.LastIndexOf('\'))

これは戻ります:

C:\Program Files (x86)\Mozilla Firefox

「firefox.exe」を目的の実行可能ファイルに置き換えます。

2
Mart

これで問題は解決したと思います。私はそれについてグーグルしています ここ それについてそしてそれはコマンドラインを使用して動作しました。

0
David B