我在服务台工作,我们在 Windows 7 上使用 MS Office。我注意到,当一个办公程序崩溃时,如果另一个办公程序正在运行,则关闭另一个正在运行的办公程序将允许您重新启动崩溃的程序,如果您不关闭它,它似乎不起作用。
例如:
假设您的 Outlook 应用程序崩溃,而 Skype 正在运行。如果您尝试重新启动 Outlook,大多数情况下您会收到类似以下内容的错误信息Cannot open Outlook
。但是,如果您关闭 Skype 并再次运行 Outlook,Outlook 将会成功启动,Skype 也将成功运行。
所以我的问题是,这种情况是否是因为 MS Office 线程使用同一个 DLL 文件?例如,一个线程运行一个应用程序,另一个线程运行另一个应用程序,这很合理,因为据我所知,如果一个线程崩溃而另一个线程正在运行,则在辅助线程结束之前,它不会启动另一个线程。
答案1
发生这种情况是因为 MS Office 线程断开了同一个 DLL 文件吗?
是的,您说得对!Office 与其他程序“共享”一些 DLL,或者(更确切地说)其他应用程序使用多个 Office 的 DLL。DLL 是一种向许多“客户端”提供其功能的“服务器”。