powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / FileSystemWatcher и файлы MS Office
8 сообщений из 8, страница 1 из 1
FileSystemWatcher и файлы MS Office
    #38633780
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Скажите, кто как борется с тем что файлы офиса при открытии копируются в ~$... файлы и при подписке на изменение файла через FileSystemWatcher, нужно плясать с бубнами.
Бесполезно подписываться на сам файл и походу нужно искать в этой же папке файл начинающийся на ~$.
Но в описании FileSystemWatcher пишут что скрытые файлы не пропускаются.
Заметил еще что при редактировании меняется дата изменения исходного файла.
В общем, кто знает нормальное решение?
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38633816
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле при сохранении файла офис создает новый, правит атрибуты и переименовывает, а старый удаляет.
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38633825
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати я использовал не FSW, а FindFirstChangeNotification , оберткой над которой является FSW. Совершенно непонятно введение в нем этого дурацкого ограничения на скрытые файлы.
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38633875
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно не понятно с офисными файлами.
Оригинальный файл ведь не скрытый, хоть одно событие должно срабатывать по нему. Но нифига.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
_watcher = new FileSystemWatcher(@"C:\Users\m\AppData\Local\Azimut Framework\ReportTempDirectory", "Документ Microsoft Word.docx");
//_watcher.NotifyFilter = NotifyFilters.LastWrite;
_watcher.Changed += _watcher_Changed;
_watcher.Created += _watcher_Created;
_watcher.Deleted += _watcher_Deleted;
_watcher.Error += _watcher_Error;
_watcher.EnableRaisingEvents = true;

void _watcher_Error(object sender, ErrorEventArgs e)
{

}

void _watcher_Deleted(object sender, FileSystemEventArgs e)
{

}

void _watcher_Created(object sender, FileSystemEventArgs e)
{

}

void _watcher_Changed(object sender, FileSystemEventArgs e)
{

}
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38633939
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,
попробуйте такой бубен
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 private static void Main(string[] args)
        {
            var watcher = new FileSystemWatcher
                          {
                              IncludeSubdirectories = false,
                              Path = @"E:\test",
                              Filter = "*.docx",
                              EnableRaisingEvents = true,
                              NotifyFilter = NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.Security 
                          };
            watcher.Changed += (s, e) =>
                               {
                                   if (e.FullPath.Contains("~$"))return;
                                   if(e.ChangeType==WatcherChangeTypes.Changed)
                                   Debug.WriteLine("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr");
                               };
            Console.ReadKey();
        }
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38634287
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

ага, спасибо.

еще можно добавить
Код: c#
1.
2.
if (e.FullPath.Contains("~WRD"))
    return;


А вот с екселями сложнее, там лезут файлы такого вида C:\Test\97425B60
без расширения

Но это ладно, главное что по конкретному файлу отловить можно. А мне это и требуется.
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38634323
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и еще по офисным файлам событие по два раза приходит. Тоже нужно как-то обходить этот момент.
...
Рейтинг: 0 / 0
FileSystemWatcher и файлы MS Office
    #38634337
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,
наберите в гугле сторочку : filesystemwatcher double event
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / FileSystemWatcher и файлы MS Office
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]