Я пишу надстройки для Microsoft Project. Некоторые из моих кнопок панели инструментов действительны только тогда, когда файл проекта открыт, и я хочу включать/отключать их динамически. Обычно я смотрю, открываются или закрываются файлы, а затем проверяю количество открытых файлов. Однако API MS Project имеет только событие Application.ProjectBeforeClose, а не событие ProjectAfterClose. Событие ProjectBeforeClose запускается до того, как пользователю будет предложено сохранить какие-либо изменения, после чего он может отменить закрытие, и никакие дополнительные события не запускаются.
Также есть события WindowActivate и WindowDeactivate, но Deactivate срабатывает только при переключении на другое окно, а не при закрытии.
Кто-нибудь нашел элегантное решение для имитации события ProjectAfterClose? Или, более конкретно, для включения/отключения функций в зависимости от того, открыт ли файл проекта?
Спасибо, Томас