Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确定修改文件的最后一个过程?_C#_.net_Windows_Winapi - Fatal编程技术网

C# 如何确定修改文件的最后一个过程?

C# 如何确定修改文件的最后一个过程?,c#,.net,windows,winapi,C#,.net,Windows,Winapi,我知道如何获取上次修改文件的用户,但Windows是否也跟踪进行修改的过程?如果是,是否有用于查找的API?否。它未被记录 可以在特定文件夹上启用对象访问审核(我不建议在常规文件系统上使用)。看到这个,小心使用 您可能可以使用.NET的类。Windows不跟踪修改文件的进程。您所能期望的最好方法是积极地观察您感兴趣的文件,并在应用程序打开它们时记下它们。我见过这样做的应用程序(例如Sysinternals FileMon),但我不知道如何实现它。如果您想确定在程序运行期间修改文件的进程,可以使用

我知道如何获取上次修改文件的用户,但Windows是否也跟踪进行修改的过程?如果是,是否有用于查找的API?

否。它未被记录

可以在特定文件夹上启用对象访问审核(我不建议在常规文件系统上使用)。看到这个,小心使用


您可能可以使用.NET的类。

Windows不跟踪修改文件的进程。您所能期望的最好方法是积极地观察您感兴趣的文件,并在应用程序打开它们时记下它们。我见过这样做的应用程序(例如Sysinternals FileMon),但我不知道如何实现它。

如果您想确定在程序运行期间修改文件的进程,可以使用Windows API或minifilter驱动程序跟踪系统上的每个进程正在做什么(正如Boo所指出的,与使用带有自定义筛选器的Sysinternal FileMon类似),但这仅适用于“捕获”程序的运行期间。但是,一旦文件被修改,所有跟踪都将消失。

您可以使用Windows来记录对文件的访问吗?

您可以从 这是一个实时监视器,所以没有太多的用途

  • 取消选择(取消选中)“文件|捕获事件”菜单项
  • 通过选择“编辑|清除”清除当前显示的事件 “显示”菜单项
  • 通过以下方式配置筛选器:

    a、 选择过程监视器“过滤器|过滤器…”菜单项。这将 显示“过程监视器过滤器”对话框

    b、 设置一个新的过滤器,方法是设置“与这些过滤器匹配的显示条目” “条件”字段:

    c、 (pick)路径(pick)包含
    which.txt
    然后(pick)包含

    d、 单击“添加”按钮添加新过滤器

  • 源自此处的说明: