如何从 Win32 DLL 或 OCX 中提取 GUID

How to extract a GUID from a Win32 DLL or OCX(如何从 Win32 DLL 或 OCX 中提取 GUID)
本文介绍了如何从 Win32 DLL 或 OCX 中提取 GUID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个 .NET 应用程序需要检查可能包含 COM 库(DLL 和 OCX)的文件夹.当我们遇到 COM 库时,我们需要完成的一件事是从 COM DLL 或 OCX 中提取 GUID.

We have a .NET app that needs to examine a folder that may contain COM libraries (DLL and OCX.) When we do encounter a COM library one thing we need to accomplish is to extract the GUID from the COM DLL or OCX.

有没有一种直接的方法可以在不使用 3rd 方库的情况下使用 .NET 来做到这一点?

Is there a straightforward way to do this with .NET without using 3rd party libraries?

推荐答案

这应该适合你.它需要对 c:windowssystem32 lbinf32.dll 的引用,但我认为这没问题,因为它不是第三方组件.

This should work for you. It requires a reference to c:windowssystem32 lbinf32.dll, but I'm assuming that is okay because it isn't a third party component.

Imports TLI 'from c:windowssystem32	lbinf32.dll

Dim reglib As TLI.TLIApplication = New TLI.TLIApplicationClass()
Dim DLLPath As String = "c:mycomponent.ocx"
MsgBox(reglib.TypeLibInfoFromFile(DLLPath).GUID.ToString())

这篇关于如何从 Win32 DLL 或 OCX 中提取 GUID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)