Я автоматизирую Outlook из программы VB.NET, перенося элементы в календарь и контакты по запросу пользователя. Это все работает, это не проблема; проблема в том, что автоматизация Outlook, когда он еще не открыт, создает скрытый экземпляр. Возможно, я могу понять, как это может быть полезно, чтобы пользователь не закрывал его, пока вы еще над ним работаете, но, поскольку Outlook, кажется, принудительно запускает только один экземпляр, если пользователь пытается проверить изменения, сделанные во время работы моей программы подключенный к Outlook, ничего не происходит - единственный экземпляр - это скрытый экземпляр, и пользователь ничего не видит.
В старые времена автоматизации COM я имел обыкновение делать Word или Excel видимыми, но я, кажется, не мог сделать это с Outlook. Я пробовал:
OutlookApp.Visible = True
OutlookApp.Application.Visible = True
OutlookApp.ActiveWindow.Visible = True
OutlookApp.ActiveExplorer.Display()
но ни один из них не работает.
Это не критично, но кто-нибудь знает, могу ли я заставить Outlook показать его главное окно? Бонусные баллы, если я смогу запретить пользователю закрывать экземпляр, но я просто согласен на показ окна:)