如何为 Visual Basic 6 ActiveX CLSID 设置“友好”名称

Posted

技术标签:

【中文标题】如何为 Visual Basic 6 ActiveX CLSID 设置“友好”名称【英文标题】:How do you set the "Friendly" name for a Visual Basic 6 ActiveX CLSID 【发布时间】:2013-05-10 11:43:48 【问题描述】:

我有一个几年前用 Visual Basic 6 编写的 ActiveX 控件。 它是一个由 CAB 文件加载并在 Internet Explorer 中使用的 OCX。

如果您在 Internet Explorer 中转到工具|管理加载项,我注意到该名称被列为 MyControlName.MyClassName

我正在寻找一种设置友好名称的方法。

我知道我可以在HKLM\SOFTWARE\Classes\CLSID\Class ID 中的(默认)REG_SZ 的注册表中设置这个

在通过浏览器安装期间执行此操作的最佳方法是什么?

我尝试在 inf 中设置密钥但不成功,我猜是权限。

当我可以在 OCX 上调用 regsvr32 时,控件中是否会引发事件?还是我应该实现的接口?

谢谢,

【问题讨论】:

你有 OCX 的来源吗?如果可以重新编译,在Project->Properties对话框中根据需要修改Project Name和Project description,然后重新编译 【参考方案1】:

这是在project options 对话框中设置的OCX 文件的编译时属性。

【讨论】:

我正在寻找友好的名称,例如带空格。项目名称仅在 Manage Add-Ons 屏幕中将其更改为 ProjectName.ClassName。并且项目描述没有影响。如果我将 cab 解压缩到文件夹并右键单击安装,则使用 HKLM,Software\Classes\CLSID\ClassId,,,"My Friendly Name" 在 inf 中有效,但从浏览器安装时似乎不起作用通过对象标签

以上是关于如何为 Visual Basic 6 ActiveX CLSID 设置“友好”名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Basic 编辑器中键入 Unicode 货币字符

如何将值从Visual Basic 6程序传递给VBscript代码?

我们如何在 Visual Basic 6 中导入 LibreOffice Writer 的监听器事件

cmake basic

visual c++中如何用CreateWindow函数创建状态栏

Visual Basic 6 :: 卸载动态创建的表单