如题.
应该会有windows消息吧.
C#如何捕获windows消息, 判断是否要的消息.

解决方案 »

  1.   

    FileSystemWatcher 类
      

  2.   

    FileSystemWatcher 类,可以用他监视,最近正好在做这个。
                  FileSystemWatcher monitor = new FileSystemWatcher();
                monitor.IncludeSubdirectories = true;//设置是否需要监视子文件夹
                monitor.Path = @"D:\";
                monitor.Filter = "*.*";
                
                monitor.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.LastAccess | NotifyFilters.FileName | NotifyFilters.DirectoryName;
                monitor.Created += new FileSystemEventHandler(monitor_Created);
                monitor.Deleted +=new FileSystemEventHandler(monitor_Deleted);//根据需要自己增删
                monitor.EnableRaisingEvents = true;//开启监视
      

  3.   

    FileSystemWatcher _Directory =new FileSystemWatcher(m_Directory.FullName);

    _Directory.IncludeSubdirectories=true;
    _Directory.Filter="*.*";
    // NotifyFilters.LastAccess |  //读取

    _Directory.NotifyFilter = NotifyFilters.LastWrite| NotifyFilters.FileName | NotifyFilters.DirectoryName; _Directory.Created+=new FileSystemEventHandler(_Directory_Created);
    _Directory.Renamed+=new RenamedEventHandler(_Directory_Renamed);
    _Directory.Deleted+=new FileSystemEventHandler(_Directory_Deleted);
    _Directory.Changed+=new FileSystemEventHandler(_Directory_Changed); _Directory.EnableRaisingEvents = true;
    private void _Directory_Created(object sender, FileSystemEventArgs e)
    {
    }private void _Directory_Renamed(object sender, RenamedEventArgs e)
    {
    }
    ......
      

  4.   


    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);
        }
    }
    http://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher.aspx
      

  5.   

    参考:http://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher.aspx