Открытие файлов на запись мешает

Тема в разделе "WASM.WIN32", создана пользователем VaVa, 14 янв 2019.

  1. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    Пишу програмку типа SVN сервера только локально и чтобы отслеживал автоматически изменения.
    Как отследить изменение в папке - есть например FileSystemWatcher в C# или по таймеру сверять.
    Но это не решает проблемы - иногда может полусится что моя программа открыла файл для чтения(посмотреть изменения), а в это время пользователь нажал на запись проекта и редактор открыть на запись не смог - ошибка.

    КАК таке избежать ? можно ли чтото сделать без написания драйверов ?
    Как и что на WDK написать чтоб мне помочь - есть ли примеры?
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    VaVa, можно при открытие на запись создавать копию открываемого файла с печатью времени + имя юзвера (рвущегося к файлу).
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    не блокировать файл при открытии на чтение, не? FileShare.ReadWrite если мы о дотнете говорим...
     
    VaVa нравится это.
  4. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    действительно панацея (а я не знал):acute:
    Можно ли как нибудь отследить открытие другой программой этотого файла (неохото учитывать недописанные файлы)?
     
    Последнее редактирование: 15 янв 2019
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    ну у FileSystemWatcher'а есть NotifyFilters.LastAccess, по идее он должен срабатывать при открытия файла другой программой (если не установлен NtfsDisableLastAccessUpdate в реестре)...
     
    VaVa нравится это.