Csharp/C#教程:如何获取regsvr32工具注册的所有非托管dll的列表?分享


如何获取regsvr32工具注册的所有非托管dll的列表?

我使用regsvr32来注册和取消注册非托管DLL,以便在我的C#应用​​程序中使用它。 但是我没有在regsvr32工具中看到任何列出所有已注册DLL的参数,那么如何获得所有已注册DLL的列表呢?

要查看所有已注册的DLL,您可以使用以下免费实用程序:

  1. RegDllView是一个工具,用于查看系统上已注册的dll / ocx / exe文件,还可以从资源管理器中注册dll文件。

  2. ListDLL是报告加载到进程中的DLL的另一个工具。 您可以使用它列出加载​​到所有进程中的所有DLL,特定进程,或列出加载了特定DLL的进程。 ListDLL还可以显示DLL的完整版本信息,包括其数字签名,并可用于扫描未签名DLL的​​进程。

  3. 最后,您还可以在CodeProject.com上的C#文章中参考这个Dll Profiler 。 DLL profiler用于列出计算机中当前加载的所有DLL,包括它们的加载位置及其版本号,大小,修改日期,产品名称和产品版本。

static void Main(string[] args) { var parent = Registry.ClassesRoot.OpenSubKey("CLSID"); var subKeys = parent.GetSubKeyNames(); foreach (var subKey in subKeys) { var sub = parent.OpenSubKey(subKey); if (sub != null) { var inProc = sub.OpenSubKey("InProcServer32"); if (inProc != null) { var val = inProc.GetValue(null); if (val != null) { var name = val.ToString(); if (!string.IsNullOrWhiteSpace(name)) Console.WriteLine(name); } } } } } 

您应该能够使用注册表读取ComputerHKEY_CLASSES_ROOTWow6432NodesCLSID中的所有已注册的 ComputerHKEY_CLASSES_ROOTWow6432NodesCLSID 。 没有看过32位Windows以查看CLSIDs位置。

上述就是C#学习教程:如何获取regsvr32工具注册的所有非托管dll的列表?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/996944.html

(0)
上一篇 2021年12月25日
下一篇 2021年12月25日

精彩推荐