Закрыть приложение Outlook
Вполне возможно, что этот вопрос задавался (много раз) раньше, но я не могу найти решение.
У меня есть программа, которая отправит письмо. Код выглядит примерно так:
Dim oApp As Interop.Outlook.Application = Nothing
While oApp Is Nothing
Try
oApp = New Interop.Outlook.Application
Catch ex As Exception
oApp = Nothing
Dim result As Integer = MessageBox.Show("Outlook is already running, close Outlook and click OK to continue sending this email or click Cancel to skip sending this email.", "Outlook", MessageBoxButtons.OKCancel)
If result = DialogResult.Cancel Then
Exit Sub
End If
End Try
End While
Все идет нормально. Пользователь вынужден закрыть Outlook, чтобы использовать приложение Outlook. Когда это сделано, я делаю это:
Dim eMail As Interop.Outlook._MailItem
eMail = oApp.CreateItem(Interop.Outlook.OlItemType.olMailItem)
'To who?
eMail.To = "person@domain.com"
'Sbuject
eMail.Subject = "Foo"
'Message
Dim message As String = "Bar"
eMail.HTMLBody = message
'Send
eMail.Send()
Работает как обаяние, но когда это сделано, у меня в трее появляется маленькая иконка, которая говорит меду, что outlook запущен, и если я пытаюсь открыть свой клиент Outlook, я получаю сообщение, что Outlook уже запущен. Мне нужно нажать на иконку в трее, чтобы закрыть, прежде чем я смогу использовать клиент. Как закрыть это приложение из моего кода при отправке почты?
Я попробовал это без успеха:
oApp.Quit()
oApp.Application.Quit()
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oApp)
oApp = Nothing
Любая помощь приветствуется.