我想将我的Dll注册到注册表中的特定路径,而不是通常需要的默认路径。我是Windows的新手并不了解它。任何人都可以告诉我在我的代码中需要提及的所有内容,或者是否有任何可以添加到其中的内容,以便我的dll在HKEY_LOCAL_MACHINE中获得寄存器。
答案 0 :(得分:1)
你为什么要那样做? COM dll必须在HKEY_CLASSES_ROOT注册,其他任何事情都没有意义。
原因是当某些其他组件需要实例化您的COM服务器时,他们通常会调用CoCreateInstance
API,它将在注册表的HKCR配置单元中查找类信息,而不是其他地方。如果你在别的地方注册你的班级,那么没有其他组件能够找到它,就像它根本没有注册一样。
答案 1 :(得分:0)
您需要使用Win32 API Registry functions:
RegCreateKeyEx
RegSetValueEx
RegCloseKey
答案 2 :(得分:0)
你需要通过“注册”澄清你的意思。
COM是一个规范,如果要为COM注册组件,则需要遵循规范。这意味着HKEY_LOCAL_MACHINE\SOFTWARE\Classes
。在任何其他地方注册COM服务器是没有意义的,因为没有什么能找到它。
如果你的意思是“注册”,那么请澄清。