如果我通過自動化創建PowerPoint應用程序,則當用戶關閉主窗口時,該過程將保留在任務管理器中。我可以認爲這是因爲我的應用程序持有對PowerPoint應用程序的引用,因此無法收集垃圾。但是,我怎麼知道用戶關閉了PowerPoint應用程序,以便我可以釋放對它的所有引用?看起來像雞或雞蛋問題在這裏。以下是我在表單加載時調用的函數。如果PowerPoint已經打開,它將使用當前實例。如果不是,它創建一個新的實例。當用戶關閉主窗口時PowerPoint過程將不會關閉
Private Function TryAttachToApplication() As PowerPoint.Application
Dim app As PowerPoint.Application
Try
app = CType(Marshal.GetActiveObject("PowerPoint.Application"), PowerPoint.Application)
Catch ex As COMException
app = New PowerPoint.Application
End Try
app.Visible = True
Return app
End Function