Я разрабатываю приложение Windows для дополнения нашего веб-приложения, это небольшая система управления документами, такая как dropbox, мне приходится автоматически синхронизировать файлы с ее закрытием, например. если в моем приложении открывается файл .dwg (AUTOCAD), событие должно запускаться по закрытию этого конкретного файла, возможно ли это с классом Filesystemwatcher
? Проблема в том, что в AUTOCAD файл открывается как вкладки, я знаю, что мы можем сделать это в приложениях MS Office с библиотекой interop. Как мы можем сделать то же самое для приложений, таких как AUTOCAD и Photoshop?Мониторинг закрытия определенного файла C#
ответ
Попробуйте использовать FileSystemWatcher's Changed событие. Нечто подобное:
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName;
// Only watch AutoCAD files.
watcher.Filter = "*.dwg";
watcher.Changed += new FileSystemEventHandler(OnChanged);
Внутри AutoCAD вы можете также разработать плагин (так же, как для MS Office), используя его .NET API.
Существует событие DocumentCollection.DocumentDestroyed, который срабатывает при закрытии документа (экономия или нет): http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer «s% 20начинающих/index.html URL = WS1a9193826455f5ff2566ffd511ff6f8c7ca-4875.htm
Или вы можете использовать событие Database.SaveComplete
В любом случае для этого потребуется приложение, работающее с AutoCAD, если вы отслеживаете файлы (FileSystemWatcher), должно быть проще.
Для AutoCAD используйте FileSystemWatcher
, чтобы посмотреть, как создавался и удалялся .dwl-файл. В этом файле есть метаданные о том, кто открыл файл и когда. Он удаляется, когда файл закрыт и блокировка освобождается. Более поздние версии также имеют файл .dwl2. Все, что нужно посмотреть - это может остаться, если AutoCAD выйдет из строя.
Я не помню, если он создан, когда файл открыт только для чтения, но в любом случае нет необходимости его синхронизировать.
- 1. Мониторинг папки для определенного файла
- 2. Мониторинг размера файла в C#
- 3. Мониторинг изменений файла в C#
- 4. Мониторинг определенного RSS
- 5. Мониторинг процесса тренировки C++
- 6. Мониторинг одного файла
- 7. Мониторинг большого файла журнала в C#
- 8. мониторинг файла изменений
- 9. Мониторинг целостности файла Python
- 10. Мониторинг изменений файла
- 11. Мониторинг ZIP-файла Python
- 12. Мониторинг файла журнала SQL
- 13. Мониторинг командного файла с java
- 14. Мониторинг производительности сети для определенного процесса
- 15. Мониторинг определенного порта с помощью счетчика производительности
- 16. Открытие файла Excel при ошибке закрытия C#
- 17. Мониторинг потоков C#
- 18. Мониторинг переменной в C#
- 19. C++ Мониторинг процессов (GetExitCodeProcess)
- 20. C#: Мониторинг соединений
- 21. Задержка закрытия файла
- 22. C# - Мониторинг, если атрибут Readonly любого файла был изменен
- 23. Потеря данных моего файла после закрытия файла
- 24. Ждите удаления файла после закрытия
- 25. Чтение определенного символа из файла в C
- 26. Печать определенного файла на вашем компьютере C#
- 27. C# Чтение определенного значения из файла CSV
- 28. Редактирование файла после определенного символа в C
- 29. Colorbox - удаление кнопки закрытия из определенного окна
- 30. Возврат определенного значения из закрытия гранул
, но можем ли мы отслеживать момент, когда файл закрыт? – midhun
Возможно, AutoCAD имеет определенное поведение при закрытии файла, например удаление связанных файлов с нуля из той же папки, что и MS Office? Если это не так, я не могу придумать, как это сделать, кроме разработки специального плагина AutoCAD. – cyberj0g