FileSystemWatcher, mit dem nach geöffneten Ordnern / Dateien gesucht wird
Ich habe mich umgesehen, kann aber keine Informationen darüber finden, wonach ich suche. Wenn es einen anderen Beitrag gibt, der dies bereits behandelt, entschuldige ich mich.
Ich suche Hilfe mit Code, der einen bestimmten Ordner überwacht, wenn der Ordner von einer anderen Person geöffnet wird oder wenn eine Datei unter diesem Ordner geöffnet wird. Zu diesem Zeitpunkt kann ich sehen, wann ein Benutzer Dateien öffnet und ändert. Wenn er jedoch nur die Datei öffnet, um sie anzuzeigen, wird kein Ereignis ausgelöst, auch wenn ich LastAccessed hinzufüge. Alle Informationen oder Hilfe wäre dankbar.
Ordnername ist C: \ Junk
Code in C # 4.0:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
public static void Run()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:\";
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "junk";
// Add event handlers.
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
watcher.IncludeSubdirectories = true;
watcher.EnableRaisingEvents = true;
// Wait for the user to quit the program.
Console.WriteLine("Press \'q\' to quit the sample.");
while (Console.Read() != 'q') ;
}
// Define the event handlers.
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);
}
private static void OnRenamed(object source, RenamedEventArgs e)
{
// Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
}