問題タブ [procmon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
419 参照

c# - C# で低レベルの OS ファイル トランザクションをログに記録するにはどうすればよいですか?

File/Process Monitor はフィルタリングとロギング時の不必要な複製の点で不十分なので、そのプログラムが行うことを再現し、すべての Windows ファイル操作をリアルタイムで記録したいと考えています。

Process Monitorと同じように、時間、プロセス名、ソース パス、宛先パス、操作、結果、詳細などのさまざまな属性を記録したいと考えています。

C# でこの情報を OS から抽出するにはどうすればよいですか?


編集: zett42 が指摘したように、FileSystemWatcherプロセス自体から作成されたファイル イベントは傍受されないなど、まったく機能しません。たとえば、 、、、およびのイベントを に追加し、フラグを trueに設定しても、これらのトランザクションは表示されません。ChangedCreatedRenamedDeletedFileSystemWatcherEnableRaisingEvents


編集 2: Microsoft.Diagnostics.Tracing.TraceEvent nuget パッケージに関する SimonMourier の提案を使用して、以下のコードをノックアップすることができました。

このセクションは、バックグラウンド ワーカーに配置されます。

そして、作成された FileIOWrite イベントは、(自動的に) 呼び出されたときに次を実行します。

残念ながら、FileIOReadWriteTraceData.FileNameProcmon がピックアップするもの (たとえば) をピックアップしていませんC:\Users\Dan\AppData\Local\Google\Chrome\User Data\Default\Cookies-journalC:\Users\Dan\AppData\Local\Google\Chrome\User Data\Default\Current Session