C ++获取我自己的DLL的CLSID

时间:2013-04-21 07:57:37

标签: c++ dll clsid

我想从我的dll中检索自己的dll的CSLID。 此CLSID在我的应用程序的.rgs文件中声明。

我正在创建很多dll,每个dll都有不同的CLSID,对我来说很重要的是我可以轻松地动态检索它。

有人可以告诉我该怎么做吗?

谢谢。

2 个答案:

答案 0 :(得分:3)

DLL没有CLSID,类也没有。获取特定类的guid的一种简单方法是只使用它的名称,在使用向导添加类时自动创建。假设您添加了一个名为“Example”的类,则可以在代码中使用CLSID_Example。另一种方法是使用__uuofof关键字,在代码中编写__uuidof(Example),当您使用#import指令导入类型库时,该关键字也适用于客户端代码。

答案 1 :(得分:1)

  1. 使用GetModuleFileName获取dll的路径 - Get DLL path at runtime
  2. 然后从typelib获取CLSID - Given a COM DLL, extract all classes CLSID and corresponding interface name
相关问题