『QQ:1353814576』

C#监听文件目录新创建的文件并获取到路径


c#使用FileSystemWatcher类 监听文件目录新创建的文件并获取到文件的路径

前段时间得一个需求 截取用户打印操作的时候打印前需提出打印确认提示窗口 确认则由程序推送打印打印反之则忽略, 思来想去就采用了这种方式 客户本地设置一个打印pdf的虚拟打印机,再由程序监控打印机目录 当客户点击了打印会在目录写入一个pdf文件,当程序监听到后 弹出确认打印弹窗

监听文件新建的代码如下:

        FileSystemWatcher FileWatcher;
        public void FileSystemWatcherInit()
        {
            string FileWatcherPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DIR");
            System.IO.Directory.CreateDirectory(FileWatcherPath);
            DirectoryInfo dInfo = new DirectoryInfo(FileWatcherPath);
       
            FileWatcher = new FileSystemWatcher();
            FileWatcher.Created += FileWatcher_Created;

            //初始化监听
            FileWatcher.BeginInit();
            //设置监听文件类型
            FileWatcher.Filter = "*";
            //设置是否监听子目录
            FileWatcher.IncludeSubdirectories = true;
            FileWatcher.EnableRaisingEvents = true;
            FileWatcher.Path = AppDomain.CurrentDomain.BaseDirectory;
            FileWatcher.EndInit();
        }

        private void FileWatcher_Created(object sender, FileSystemEventArgs e)
        {
            if (e.ChangeType != WatcherChangeTypes.Created) return;

            string FullPath = e.FullPath;//新创建的文件路径

        }

调用方法

FileSystemWatcherInit();