首先启动Process Monitor并清除初始日志,确保捕获功能开启,然后通过文件和注册表图标选择监控类型,接着设置过滤器聚焦目标进程或路径,如按进程名、操作类型和路径组合条件,之后在主界面分析各事件的进程名、操作、路径及结果,双击可查看调用堆栈,最后可保存为PML文件或导出CSV/TXT用于后续分析,有效定位程序访问文件与注册表的行为。

Process Monitor(ProcMon)是微软提供的一款强大的系统监控工具,能够实时捕获文件系统、注册表、进程和线程活动。它适用于排查程序行为、权限问题或恶意软件分析。以下是使用 Process Monitor 跟踪文件系统与注册表访问的具体方法。
启动并配置 Process Monitor
下载并运行 Process Monitor 后,它会立即开始捕获系统中的所有相关事件。首次使用时界面可能信息繁杂,需进行基础设置:
- 清除初始日志:点击工具栏的“Clear Display”按钮(或按 Ctrl+X)清空已捕获的数据,以便从干净状态开始。
- 确保启用捕获:确认顶部的“Capture Events”按钮为红色并处于按下状态,表示正在实时监听。
- 选择关注的事件类型:可通过工具栏的“File”、“Registry”图标分别控制是否显示文件系统或注册表操作。
过滤关键访问行为
默认情况下,ProcMon 捕获全系统活动,数据量大。通过设置过滤器可聚焦目标进程或路径:
- 点击菜单栏“Filter” → “Filter…” 打开过滤对话框。
- 例如,仅查看某个进程对注册表的写入操作:
- 条件设为 “Process Name is notepad.exe”
- 可添加 “Operation is RegSetValue” 或 “Path contains Software\Microsoft” 等细化条件 - 多个条件使用“AND/OR”逻辑组合,避免过度过滤导致遗漏。
分析文件与注册表访问详情
在主窗口中,每一行代表一次系统调用,关键列包括:
- Process Name:发起访问的程序名称。
- Operation:操作类型,如 ReadFile、WriteFile、RegQueryValue、RegCreateKey 等。
- Path:被访问的文件路径或注册表键名。
- Result:结果状态,SUCCESS 表示成功,ACCESS DENIED 或 NOT FOUND 表示失败原因。
双击某条记录可查看详细属性,包括堆栈调用(Stack tab),有助于定位代码层面的调用来源。
保存与导出分析结果
完成监控后,可保存日志供后续分析:
- 点击“File” → “Save” 将当前事件保存为 .PML 文件,支持在 ProcMon 中重新加载。
- 若需用 Excel 或脚本处理,选择“File” → “Export” 导出为 CSV 或 TXT 格式。
- 建议在导出前应用过滤器,只保留关键事件,减少数据冗余。
基本上就这些。合理使用过滤和分类功能,Process Monitor 能快速帮你定位程序读写了哪些文件或注册表项,特别适合调试配置加载失败、权限不足等问题。








