【发布时间】:2012-06-01 23:28:10
【问题描述】:
我在关闭 Acrobat 时遇到问题。我正在使用 vb.net 在运行 Acrobat 时签署 PDF 文件。完成后,我关闭 Acrobat 并尝试删除当前签名的 PDF 文件,但我收到一条错误消息,告诉我该文件正在被另一个进程使用。我尝试关闭并设置为 Nothing AcroApp、AcroAVDoc、AcroPDDoc JSO,但这仍然不起作用。我尝试使用 Marshal.ReleaseComObject(...) 释放它们仍然没有效果。
acroPDDoc.Close()
acrobatAVDoc.Close(False)
acrobatApp.Exit()
Try
Marshal.ReleaseComObject(javaScriptObj)
Catch ex As Exception
End Try
Try
Marshal.ReleaseComObject(acroPDDoc)
Catch ex As Exception
End Try
Try
Marshal.ReleaseComObject(acrobatAVDoc)
Catch ex As Exception
End Try
Try
Marshal.ReleaseComObject(acrobatApp)
Catch ex As Exception
End Try
javaScriptObj = Nothing
acroPDDoc = Nothing
acrobatAVDoc = Nothing
acrobatApp = Nothing
我不想使用下面的替代方法,因为它会杀死所有我不想要的打开的 PDF 文档。
'Gets All Acrobat Processes
Dim tProcess() As Process = System.Diagnostics.Process.GetProcessesByName("Acrobat")
'Kills Each Acrobat Process
For Each AcrobatProcess As Process In tProcess
AcrobatProcess.Kill()
Next
请帮助我找到解决此问题的方法。谢谢
【问题讨论】:
-
您是否尝试过等待几秒钟,因为有时锁会持续存在
-
是的,等待没有帮助。它只是挂在那里。
-
由于您没有发布显示您如何“尝试关闭并设置为 Nothing”的代码,您希望我们如何帮助您确定它为什么不能正常工作?
-
我已经编辑了我的帖子并添加了关闭代码