-2

我想将我的 Dll 注册到注册表中的特定路径,而不是通常采用的默认路径。我是 Windows 新手,不太了解它。谁能告诉我我需要在我的代码中提到的所有内容,或者是否可以添加任何内容,以便我的 dll 在 HKEY_LOCAL_MACHINE 中注册。

4

3 回答 3

1

你为什么想这么做?COM dll 必须在 HKEY_CLASSES_ROOT 注册,其他任何东西都没有意义。

原因是当某些其他组件需要实例化您的 COM 服务器时,它们通常会调用CoCreateInstanceAPI,该 API 将在注册表的 HKCR 配置单元中查找类信息,而不是在其他地方。如果您要在其他地方注册您的类,则其他组件将无法找到它,这与它根本没有注册一样。

于 2012-09-14T10:11:13.613 回答
0

您需要使用Win32 API 注册表函数

  1. 创建(如果存在则打开)密钥RegCreateKeyEx
  2. 设置值RegSetValueEx
  3. 关闭注册表项RegCloseKey

另请参阅一些示例代码

于 2012-09-14T10:51:36.090 回答
0

您需要澄清“注册”的含义。

COM 是一个规范,如果你想为 COM 注册你的组件,你需要遵循规范。这意味着HKEY_LOCAL_MACHINE\SOFTWARE\Classes。在其他任何地方注册 COM 服务器是没有意义的,因为找不到它。

如果您通过“注册”表示其他意思,请澄清。

于 2012-09-14T10:56:06.720 回答