我在一个简单的C#Console程序中引用了Acrobat.dll,然后编写了几行代码来运行Acrobat。
CAcroApp mApp = new AcroAppClass();
Console.WriteLine("Acrobat is running");
bool bClose = mApp.CloseAllDocs();
bool bExit = mApp.Exit();
但是,当CloseAllDocs()返回true时,Exit()始终返回false。
因此我仍然可以在任务管理器中看到Acrobat进程运行。
但是,一旦程序结束,该过程也会自动被杀死。
如何制作它以便我可以从程序中关闭Acrobat进程而不必退出程序?
答案 0 :(得分:0)
根据我的经验,只有当所有相关对象都被垃圾收集时,Acrobat进程才会关闭。要强制收集,请使用以下代码:
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
注意:仅当相关对象(例如mApp)不在范围内时,垃圾收集才有效。