.net “如何获得”;杂项状态“;从vb6 ocx?

.net “如何获得”;杂项状态“;从vb6 ocx?,.net,vb6,regfreecom,reg-free,.net,Vb6,Regfreecom,Reg Free,如何从.net获取VB6 ocx的miscStatus,而无需在本地计算机上注册 我使用TLI(TypeLibInfo)获取关于ocx的所有其他信息,但我不知道如何获取此属性 有人知道注册ocx时regsvr32如何生成MiscStatus吗 编辑:我忘了说我想从ocx获得miscStatus,而不需要在本地计算机上注册它。您可以尝试使用Registry.GetValue在注册表中查找ocx。听起来您可能已经拥有OCX的CLSID: Dim ocxClsid As String = "13DE

如何从.net获取VB6 ocx的miscStatus,而无需在本地计算机上注册

我使用TLI(TypeLibInfo)获取关于ocx的所有其他信息,但我不知道如何获取此属性

有人知道注册ocx时regsvr32如何生成MiscStatus吗



编辑:我忘了说我想从ocx获得
miscStatus
,而不需要在本地计算机上注册它。

您可以尝试使用
Registry.GetValue
在注册表中查找ocx。听起来您可能已经拥有OCX的CLSID:

Dim ocxClsid As String = "13DE4A42-8D21-4C8E-BF9C-8F69CB068FCA" ' Replace with your CLSID
Dim key As String = "HKEY_CLASSES_ROOT\CLSID\{" & ocxClsid & "}\"

Dim readValue = My.Computer.Registry.GetValue(
    key, "MiscStatus", Nothing)

您可以尝试使用
Registry.GetValue
在注册表中定位OCX。听起来您可能已经拥有OCX的CLSID:

Dim ocxClsid As String = "13DE4A42-8D21-4C8E-BF9C-8F69CB068FCA" ' Replace with your CLSID
Dim key As String = "HKEY_CLASSES_ROOT\CLSID\{" & ocxClsid & "}\"

Dim readValue = My.Computer.Registry.GetValue(
    key, "MiscStatus", Nothing)

我不相信有像TLI这样的标准工具可以做到这一点
miscStatus
似乎是在注册过程中由
DLLRegisterFunction
调用编写的,该调用由DLL/OCX本身提供,基本上可以执行它想要的任何操作

例如,注册期间要写入的注册表值可能是。但这取决于程序员

查看regsvr32本身,您可以看到它完全忽略了关键字
miscstatus
。我认为这证实了它的值不需要以任何标准化的方式存储

如果你绝对不能在你的开发/构建PC上注册OCX,我能想到的下一个最好的办法就是在某种沙箱中注册它——比如VM,或者甚至Docker。然后,您可以在读取注册表值后丢弃沙箱。但我从未真正尝试过这个



也要考虑这个值是否真的很重要。如果你把它漏掉了,有什么东西坏了吗?这可能是因为许多工具未设置或与您的特定应用无关。

我不相信有像TLI这样的标准工具可以做到这一点
miscStatus
似乎是在注册过程中由
DLLRegisterFunction
调用编写的,该调用由DLL/OCX本身提供,基本上可以执行它想要的任何操作

例如,注册期间要写入的注册表值可能是。但这取决于程序员

查看regsvr32本身,您可以看到它完全忽略了关键字
miscstatus
。我认为这证实了它的值不需要以任何标准化的方式存储

如果你绝对不能在你的开发/构建PC上注册OCX,我能想到的下一个最好的办法就是在某种沙箱中注册它——比如VM,或者甚至Docker。然后,您可以在读取注册表值后丢弃沙箱。但我从未真正尝试过这个



也要考虑这个值是否真的很重要。如果你把它漏掉了,有什么东西坏了吗?可能是因为其中许多未设置或与您的特定应用程序无关。

我忘了说我想从ocx获取miscStatus,而无需在本地计算机上注册。我忘了说我想从ocx获取miscStatus,而无需在本地计算机上注册。AFAIK regsvr32将调用ocx/DLL中的函数DLLRegisterServer。这就是全部。该函数本身具有注册内容的所有知识。AFAIK regsvr32将调用OCX/DLL中名为DLLRegisterServer的函数。这就是全部。该函数本身拥有关于注册内容的所有知识。