2009-03-05 21 views
0

Bu yüzden, artık birileri tarafından yazılan bir kaç (veya daha fazla, hiç kimse bilmiyor) uygulama var. Bu uygulamalar, bu geliştiriciler eski PC'de saklanan Microsoft Access Veritabanlarına erişiyor. Üretim SQL veritabanımız. Şimdi tüm bu programları aşağıdan ve ne zaman çalıştırdıklarını izlemek için, bir dosya erişim süresinin kaydını tutmak istiyorum, bu mümkün mü? Açıkçası, erişim süresini okursam, onu değiştirirdim. Bazı Access Veritabanları SQL Veritabanı'na yalnızca bağlantılı tablolar olduğundan, değiştirilen süreye güvenemeyiz.Dosya erişim zamanının kaydını tutun

Bunu C# içinde yapmayı tercih edin, ancak farketmez. Sadece neyin bulunduğunu takip etmeliyim, bir kere onları buldukları zaman, bunlar değiştirilebilir.

Teşekkürler.

cevap

1

http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

public class Watcher 

{

public static void Main() 
{ 
Run(); 

} 

[PermissionSet(SecurityAction.Demand, Name="FullTrust")] 
public static void Run() 
{ 
    string[] args = System.Environment.GetCommandLineArgs(); 

    // If a directory is not specified, exit program. 
    if(args.Length != 2) 
    { 
     // Display the proper way to call the program. 
     Console.WriteLine("Usage: Watcher.exe (directory)"); 
     return; 
    } 

    // Create a new FileSystemWatcher and set its properties. 
    FileSystemWatcher watcher = new FileSystemWatcher(); 
    watcher.Path = args[1]; 
    /* Watch for changes in LastAccess and LastWrite times, and 
     the renaming of files or directories. */ 
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite 
     | NotifyFilters.FileName | NotifyFilters.DirectoryName; 
    // Only watch text files. 
    watcher.Filter = "*.txt"; 

    // Add event handlers. 
    watcher.Changed += new FileSystemEventHandler(OnChanged); 
    watcher.Created += new FileSystemEventHandler(OnChanged); 
    watcher.Deleted += new FileSystemEventHandler(OnChanged); 
    watcher.Renamed += new RenamedEventHandler(OnRenamed); 

    // Begin watching. 
    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); 
} 

}

İlgili konular