我想将我的 Dll 注册到注册表中的特定路径,而不是通常采用的默认路径。我是 Windows 新手,不太了解它。谁能告诉我我需要在我的代码中提到的所有内容,或者是否可以添加任何内容,以便我的 dll 在 HKEY_LOCAL_MACHINE 中注册。
问问题
1095 次
3 回答
1
你为什么想这么做?COM dll 必须在 HKEY_CLASSES_ROOT 注册,其他任何东西都没有意义。
原因是当某些其他组件需要实例化您的 COM 服务器时,它们通常会调用CoCreateInstance
API,该 API 将在注册表的 HKCR 配置单元中查找类信息,而不是在其他地方。如果您要在其他地方注册您的类,则其他组件将无法找到它,这与它根本没有注册一样。
于 2012-09-14T10:11:13.613 回答
0
于 2012-09-14T10:51:36.090 回答
0
您需要澄清“注册”的含义。
COM 是一个规范,如果你想为 COM 注册你的组件,你需要遵循规范。这意味着HKEY_LOCAL_MACHINE\SOFTWARE\Classes
。在其他任何地方注册 COM 服务器是没有意义的,因为找不到它。
如果您通过“注册”表示其他意思,请澄清。
于 2012-09-14T10:56:06.720 回答