我有一个用C#编写的COM对象,它是Windows任务栏的工具栏(实现IDeskSite)。我想要,
如果某个应用程序正在运行,则阻止加载任务栏
允许工具栏在未处理的异常情况下卸载,而不是允许异常导致资源管理器崩溃
对于#1,我知道我可以使用Mutex来检查应用程序是否正在运行,但我不确定如何防止继续由explorer.exe进程加载COM对象或如何通知处理对象出错并需要卸载的过程。
答案 0 :(得分:0)
让我们谈谈#1的方式。 查看接口IClassFactory - 任何(!)COM对象是默认创建的,也可以由您实现的创建。因此,只需检查是否可以创建类实例