private FileSystemWatcher CreateWatcher(string folder)
{
folder = System.IO.Path.GetFullPath(folder);
var result = new FileSystemWatcher(folder) {
InternalBufferSize = 32*1024,
IncludeSubdirectories = true,
Filter = "*",
NotifyFilter = NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.LastWrite
};
result.Changed += file_Changed;
result.Created += file_Changed;
result.Deleted += file_Deleted;
result.Renamed += file_Renamed;
result.Error += BufferOverflowed;
return result;
}