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();