Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在注册表中不存在CLSID时查找DLL_C++_Com_Registry_Windows Server 2012_Clsid - Fatal编程技术网

C++ 如何在注册表中不存在CLSID时查找DLL

C++ 如何在注册表中不存在CLSID时查找DLL,c++,com,registry,windows-server-2012,clsid,C++,Com,Registry,Windows Server 2012,Clsid,其中一个系统服务在其日志中报告它已加载某个对象。在日志中还提到了加载对象的CLSID(值为1CECAF7C-B7A0-4B81-912D-78F202E3F0EA,另请参见屏幕截图: 当然,首先我在注册表中搜索了这个值(我也读过)。 但我找不到它,可能这个值根本不存在于注册表中。奇怪 请解释这是如何可能的?我如何才能找到实现此对象的DLL。这是如何可能的?简单:DLL从未注册过 当然,这意味着您无法从注册表中找到DLL,但您可能因为其他原因知道需要哪个DLL。例如,因为DLL是您自己编写的 在

其中一个系统服务在其日志中报告它已加载某个对象。在日志中还提到了加载对象的CLSID(值为1CECAF7C-B7A0-4B81-912D-78F202E3F0EA,另请参见屏幕截图:

当然,首先我在注册表中搜索了这个值(我也读过)。 但我找不到它,可能这个值根本不存在于注册表中。奇怪


请解释这是如何可能的?我如何才能找到实现此对象的DLL。

这是如何可能的?简单:DLL从未注册过

当然,这意味着您无法从注册表中找到DLL,但您可能因为其他原因知道需要哪个DLL。例如,因为DLL是您自己编写的


在这种情况下,Microsoft很可能知道Microsoft终端服务DLL。而且,当他们更改CLSID时,他们也会知道。你两者都不知道,所以不要在这里做假设。

即使这已经得到了回答,我也会投入我的2美分。有可能,甚至可能,它正在使用免注册COM。在在这种情况下,类型库信息存储在清单中


如果您知道要查找的进程,则可以使用procexp检查加载到进程中的DLL。一旦获得DLL列表,您可以检查可疑或可能的候选程序的清单,以尝试查找ProgID和CLSID。

啊哈,我明白了。谢谢。