DLL注册和取消注册

时间:2010-06-29 07:04:21

标签: c++

我创建了一个上下文菜单dll(C ++ COM DLL)来显示iconoverlays(使用IShellIconOverlayIdentifier接口)。为了显示iconoverlays,我已经重新启动了资源管理器。如果系统重新启动,要显示图标叠加层,我需要手动注册dll并再次重新启动资源管理器。

在资源管理器启动之前有没有办法注册我的com dll。 ??

此外,如果我卸载我的应用程序,则无法删除DLL。要删除dll,我需要停止使用我的dll的资源管理器和其他应用程序(例如,thunderbird,visual studio),然后取消注册dll。然后只有我能删除Dll。这是正确的......或者我能做的任何其他事情。

先谢谢。

2 个答案:

答案 0 :(得分:3)

我想知道为什么你必须在每次重启系统时注册你的DLL。 另一方面,您必须重新启动explorer.exe和相关程序以使更改(特别是通过shell扩展完成)生效,这是很正常的。

此外,删除时遇到的beahivour是您想要删除shell扩展DLL时必须经历的标准过程。

答案 1 :(得分:0)

您可能想要使用自注册DLL。它们包括将自己存储在操作系统的注册表中所需的信息,并将自动存储在您的计算机上,并在需要时可以访问。

详细说明可在此处找到:Self-Registration (COM)