如何查找以C#编写的DLL文件是否以编程方式注册?
我已经尝试过这段代码,但它并没有结束.
如果我注册DLL文件并使用此代码检查它返回.如果我取消注册并运行同一段代码,它将再次返回true.我将DLL文件的完整路径作为参数.
我们在Visual C++中开发了一个简单的DLL文件.之后我们注册了它.现在我们要确认它已注册.
鲍勃,你会自己更换这段代码吗,对我来说还是很难吗?
如果我注册了DLL文件,注册表中是否有条目?我应该找到这些条目并判断DLL文件是否已注册?
最后一个答案是进行一些修改.我查看了typelib而不是clsid.
earwicker der:无论如何,我做了一点修改.它现在正在运作.
Dan*_*ker 20
您需要找出DLL中定义的COM对象的GUID.然后看看这个注册表项:
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\InprocServer32
Run Code Online (Sandbox Code Playgroud)
用GUID替换x.
它应该具有包含DLL的完整路径的默认值.
如果您的意思是在GAC注册,请注意以下事项:要在GAC注册,必须使用强名称签署一个程序集(在其名称中有一个公钥令牌).
所以你可以尝试加载它Assembly.Load(string),如果你有FileNotFoundException- 装配没有在GAC注册.
如果没有错误,但结果Assembly.GetName().GetPublicKeyToken()为null或为空 - 这意味着您在应用程序目录中找到了程序集,而不是在GAC中.
| 归档时间: |
|
| 查看次数: |
43232 次 |
| 最近记录: |