Повышение события при чтении файла? - PullRequest
0 голосов
/ 03 июня 2010

У меня есть файлы для чтения внешних приложений, я хочу подключить их, чтобы получить событие в моем приложении. Но я не могу найти источники, перехватывающие ReadFile (или что-то еще, что может помочь мне достичь этого). Есть идеи как это сделать? Это должно быть сделано в пользовательском режиме. Я думал о чем-то похожем на Process Monitor. Интересно, как это получается ..

1 Ответ

0 голосов
/ 03 июня 2010

В .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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...