提高读取文件的事件?

时间:2010-06-03 14:58:04

标签: c# c winapi hook

我有外部应用程序读取文件,我想挂钩,以获取我的应用程序中的事件。但是我找不到一个挂起ReadFile的源代码(或者其他可以帮助我实现这一点的东西)。任何想法如何做到这一点?必须在用户模式下完成。我正在考虑类似于Process Monitor的东西。我不知道它是怎么做的..

1 个答案:

答案 0 :(得分:0)

在.net中,您可以使用FileSystemWatcher。您需要为Changed事件添加一个处理程序,它将检测上次访问时间的变化(以及其他内容)。

从上面链接的MSDN示例:

public static void Foo()
{
    // Create a new FileSystemWatcher and set its properties.
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = @"Your path";
    /* Watch for changes in LastAccess time */
    watcher.NotifyFilter = NotifyFilters.LastAccess;
    // Only watch text files.
    watcher.Filter = "*.txt";

    // Add event handlers.
    watcher.Changed += new FileSystemEventHandler(OnChanged);

    // Begin watching.
    watcher.EnableRaisingEvents = true;
}

private static void OnChanged(object source, FileSystemEventArgs e)
{
    // Specify what is done when a file is changed, created, or deleted.
   Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
}