web-dev-qa-db-ja.com

特定のアプリケーションによってどのファイルが開かれますか?

Windowsの特定のプロセスによって現在開かれているすべてのファイルを一覧表示する方法はありますか?

つまり、fopenが付いていても、特定のプロセスでfcloseを受け取っていないファイルです。

Sysinternals Process Monitorを使用しようとしましたが、現在開いているファイルを一覧表示する方法がわかりませんでした。

24
clamp

プロセスモニターの代わりにSysinternals Process Explorer を試すことができます。プロセスモニターは、プロセスが何をしているかを監視するための設計です。 Process Explorerは、プロセスの現在の状態を確認するためのものです。タスクマネージャーですが、約10倍の機能があります。

Sysinternalsにも handle.exe これは、プロセスが開いているファイルを通知するコマンドラインツールです。

18
Dave Webb

Sysinternalsの Process Explorer を確認してください。

プロセスの開いているファイルを表示するには、リストからプロセスを選択し、[表示]-> [下部パネル]-> [ハンドル]メニューオプションを選択します。タイプ「ファイル」のハンドルはすべて開いているファイルです。

また、ファイルを開いているアプリケーションを見つけるには、[検索]-> [ハンドル]またはDLLメニューオプションを使用します。探しているファイルの名前を入力して、[検索]をクリックするだけです。 "検索文字列に一致するファイルが開いているプロセスを検索します。

31
heavyd

SysinternalsのProcess Explorerは、(DLLなどではなく)ファイルハンドルを処理する場合、実際にはほとんど役に立ちません。 Windowsリソースモニターを使用して、[CPU]タブをクリックします。 [関連付けられたハンドル]の横にファイルの名前を入力すると、誰がファイルを開いているかがわかります。

5
Will Nitschke