我的 vb 应用程序用于生成 excel 报告。在上次运行期间,它在两者之间失败,但 excel 进程仍在服务器的后台运行。
问题是还有一些其他应用程序使用 excel 过程来生成报告。我需要终止仍在后台运行的特定 excel 实例。
我之前问过这个问题,坏消息是,没有直接的方法可以做到这一点。可以做什么:当您在应用程序中启动 excel 时,存储 PID(如果可用,我不确定)和/或创建文档的路径。如果出现错误,通过PID终止特定的excel进程。或者,如果这是不可能的:遍历所有打开的 excel 实例并找到打开路径的实例 - 而不是杀死该实例。后一种方法在多用户环境中存在问题,因为 Excel 在被多个应用程序使用时反应不佳。
最好的方法是完全摆脱服务器上的 excel 并转移到独立的 excel 编写库,如 EPPLUS 或 Aspose.Cells 或其他替代方案。但我不知道,这些库是否仍可用于 VB6。请注意,Microsoft 建议不要在服务器上使用 Office
我不了解任务管理器,但 Sysinternals Process Explorer 会为您提供该信息。它在显示父/子进程层次结构的树视图中列出所有进程。http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx