После нескольких часов экспериментов и поисков в Google я, наконец, пришел к концу, что я могу понять сам, поэтому вот что у меня сейчас:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application.Startup += new
Outlook.ApplicationEvents_11_StartupEventHandler(
ApplicationObject_Startup);
((Outlook.ApplicationEvents_11_Event)Application).Quit += new
Outlook.ApplicationEvents_11_QuitEventHandler(
ApplicationObject_Quit);
}
void ApplicationObject_Startup()
{
MessageBox.Show("Startup Event");
((Outlook.ExplorerEvents_10_Event)Application.ActiveExplorer()).Close += new
Outlook.ExplorerEvents_10_CloseEventHandler(
ExplorerObject_Close);
}
void ApplicationObject_Quit()
{
MessageBox.Show("Quit Event");
}
void ExplorerObject_Close()
{
MessageBox.Show("Explorer Close Event");
}
Все это работает, и когда я закрываю outlook, я вижу, что проводник закрывает событие и выходит из окна сообщения о событии по порядку. Однако на данный момент перспективы, похоже, уже закрылись, и я понятия не имею, как отменить эти события (для некоторых других событий передается bool Cancel, в котором вы можете установить значение false, но не для этих событий?) Или отправить событие минимизации (я вообще не смог этого понять).
Если у кого-нибудь есть какие-либо предложения, я буду очень признателен. У меня было немного свободного времени на работе, и я подумал, что постараюсь научиться кое-чему дополнению и одновременно решить действительно раздражающую часть перспективы!
РЕДАКТИРОВАТЬ: Я также пытался:
Application.ActiveExplorer().WindowState = Outlook.OlWindowState.olMinimized;
при запуске, чтобы сразу же свернуть окно. Это сводит к минимуму перспективы, но не к системному лотку, а только к панели (что забавно и, вероятно, фактически является ошибкой, поскольку минимизация настроена так, чтобы минимизировать до лотка ...) Тем не менее, если бы я мог просто избавиться от закрытия / quit event (s) Я мог бы, по крайней мере, просто свернуть окно на панель задач.