Я работаю над системой контроля версий / синхронизации файлов для Windows. Было бы здорово иметь флажок в нижней части классического диалогового окна сохранения файла с возможностью отмечать / снимать отметку с версией моего файла.
Можно ли прослушивать открытые диалоговые окна сохранения файлов любой программой (словом и т. Д.) И заменять / переопределять этот диалог настраиваемым (с дополнительным флажком)?
Если флажок установлен, должно появиться другое окно, в котором пользователь может ввести дополнительные метаданные. После этого данные сохраняются в локальной базе данных.
Я уже работал с подходом dmihailescu (ссылка предоставлена), но он очень сложный, и я не знаю, как изменить этот пример, чтобы прослушивать диалоги открытых файлов сохранения другими программами.
Другой подход - использовать FileSystemWatcher, но следить за всей системой очень дорого, и это не очень удобно, потому что пользователю нужно запрашивать любой созданный файл, если он / она хочет управлять его версиями.
Я надеюсь, что кто-то может помочь мне решить эту проблему или у вас есть дополнительные советы / подходы.
Спасибо.
Изменить: вариант использования
Пользователь должен написать документацию и создать новый документ Word. Когда он / она щелкает пункт меню «Сохранить как» слова, в моем настраиваемом диалоговом окне сохранения файла должно появиться окно с флажком внизу, независимо от того, должен ли этот файл быть версионным или нет. Если флажок установлен «активен», должно появиться новое окно, в котором пользователь может ввести дополнительные метаданные. После этого данные должны быть сохранены в локальной базе данных.
В моем случае в базе данных должны храниться только метаданные (например, путь и т. Д.). Предположим, пользователь хранит один и тот же файл в двух разных директориях (один файл «старый», а другой - текущий). Если пользователь открывает старую версию этого файла, моя система должна распознать, что «более новая» уже хранится в другом месте, и синхронизировать эти файлы.
Это должен быть очень простой пример.