首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从miscStatus ocx获得"miscStatus“?

如何从miscStatus ocx获得"miscStatus“?
EN

Stack Overflow用户
提问于 2019-09-10 11:05:44
回答 2查看 108关注 0票数 1

我如何从获得miscStatus for VB6 ocx,而不需要在本地计算机上注册?

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

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

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

EN

回答 2

Stack Overflow用户

发布于 2019-09-10 15:49:04

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

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2020-03-23 15:07:43

我不相信像TLI这样的标准工具能够做到这一点。miscStatus似乎是在注册期间由DLLRegisterFunction调用编写的,该调用由DLL/OCX本身提供,基本上可以做它想做的任何事情。

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

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

如果你绝对不能在你的开发/构建PC上注册OCX,那么我能想到的下一件最好的事情就是在某种沙箱中注册它--比如VM,或者桑德维齐,甚至是Docker。然后,您可以在读取注册表值之后丢弃沙箱。但我从没试过这个。

另外,考虑一下这个值是否真的是必需的。如果你把它忘了,有什么东西坏了吗?这可能是因为许多misc状态标志没有设置,或者对您的特定应用程序没有影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57869494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档