2012-07-19 137 views
3

我在一個簡單的C#Console程序中引用了Acrobat.dll,然後編寫了幾行代碼來運行Acrobat。如何正確退出CAcroApp?

CAcroApp mApp = new AcroAppClass(); 
Console.WriteLine("Acrobat is running"); 
bool bClose = mApp.CloseAllDocs(); 
bool bExit = mApp.Exit(); 

但是,雖然CloseAllDocs()返回true,但Exit()始終返回false。

因此,我仍然可以看到Acrobat進程在任務管理器中運行。

但是,一旦程序結束,該過程也會自動終止。

我該怎麼做才能在程序中關閉Acrobat進程而不必退出程序?

回答

0

從我的實驗中,只有當所有相關對象都被垃圾收集時,Acrobat進程纔會關閉。要強制徵收,使用下面的代碼:

GC.Collect(); 
GC.WaitForPendingFinalizers(); 
GC.Collect(); 

注:垃圾收集只有當相關的對象(例如MAPP)不再在範圍上工作。