问题标签 [clsid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
com - 发现已注册的 COM 组件
有没有办法通过解析注册表中可用的信息来确定注册的 COM 组件是否可创建为独立组件?特别是通过在 HKCR/ClsId 中找到的信息?
我的系统在此键中有超过 12,000 个条目,并且我已经排除了任何没有 InProcServer32 或 LocalServer32 键的项目,但这仅消除了大约一半的项目。我相信还有几千个不是可创建的对象。我真的不想尝试对它们中的每一个都执行 CreateObject() 来区分可以创建的对象和不能创建的对象。有没有更有效的方法?
.net - COM CLSID CodeBase 键
当为 COM 互操作注册 .net 程序集时,注册表中有一个指向可执行文件的 CodeBase 键。
我的问题是:CodeBase 键是 .NET 特有的,还是所有注册组件都应该拥有的通用 COM 键?
c# - 使用 Interop.MODI 引发 0x80040154 异常
我目前正在尝试实现 Interop.MODI.dll(来自 Microsoft Office)以使用它应该提供的 Image -> Text 功能。但是做的时候
我得到:
“带有 CLSID {40942A6C-1520-4132-BDF8-BDC1F71F547B} 的 COMException 80040154”。
我尝试过什么来解决这个问题?
我使用 regasm 工具注册了 DLL:-问题仍然存在
我尝试将 BuildPlatform 设置为 x86:-问题仍然存在
我使用带有 Windows 7 Professional 64Bit 的 Visual Studio 2010 Ultimate 并安装了 Microsoft Office 2007
编辑:我找到了解决方案:
我需要将“MS-Office-Document-Imaging”功能安装到 MS Office 以使其正常工作。(软件 -> MS Office(右键单击 -> 编辑)-> 添加功能 -> Microsoft Office Document Imaging)
permissions - Outlook 和注册表项权限问题
我正在以编程方式从 Outlook 获取邮件。当我从控制台运行程序时,它运行良好。但我试图通过任务调度程序通过提供“无论用户是否登录都运行”选项来自动化它,并收到一条错误消息:
检索具有 CLSID {0006F03A-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败。
我在网上搜索了它,发现有人告诉我要为密钥添加权限,然后我开始使用注册表项并通过转到 Permission 属性取消选中一个复选框,它会自动删除所有权限,现在密钥是任何人都无法访问。现在我的控制台应用程序也给出了同样的错误。以下是部分屏幕截图:
如您所见,单击该键时会出现“访问被拒绝”的错误消息,当我尝试添加权限时,它会发出另一个警告。如果我单击确定,它会打开权限弹出窗口,但不允许添加任何用户。如何解决此注册表项问题?有没有办法通过删除损坏的密钥来重新注册密钥?
c++ - X64 中的 Flash ActiveX
我正在尝试将我的应用程序从 x86 移动到 x64。而且其中大部分似乎运行良好,但是,我的应用程序中有一个 Flash Player ActiveX 控件,并且在 x64 构建中创建它失败了。
有什么想法可能导致这种情况吗?对于 64 位,我需要不同的 clsid 吗?
添加了 Flash Player 11 64 位支持,所以我认为这应该可以。
windows - 如何在 WiX 片段中获得编辑注册表 CLSID 的提升权限
我正在尝试将 Windows 桌面搜索设置为使用不同于系统默认过滤器(nlhtml.dll)的不同 html 过滤器。当我查找 PersistentHandler( HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html\PersistentHandler
) 时,它指向HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{eec97550-47a9-11cf-b952-00aa0051fe20}
.
我想改变上面clsid的值。以下是 WiX 片段
但是值没有改变。
关于许可;只有 TrustedInstaller 可以完全控制此条目。管理员、SYSTEM 和其他用户只有读取权限。
如何获得提升权限以使用 WiX 进行此注册表更改。这是一个更大项目的一部分,我只编辑 WiX 脚本的片段 ( <Fragment>.. </Fragment>
)。
谢谢你。
wix - 使用 WiX 将新的 CLSID 添加到 Windows 注册表
我正在尝试使用 Windows 桌面搜索注册一个新过滤器。实现此目的的理想方法是使用现有的持久处理程序 CLSID 注册新过滤器。但这无法完成,因为 .html PersistentHandler CLSID{eec97550-47a9-11cf-b952-00aa0051fe20}
受 WRP 保护(有关问题的更多信息)。
作为一种解决方法,我正在尝试创建一个不同的 CLSID,它与{eec97550-47a9-11cf-b952-00aa0051fe20}
.
这是我正在关注的示例代码。我对 WiX 和编辑 Windows 注册表很陌生。
有人可以帮我解决这些问题吗?
如何创建不附属于任何文件的 CLSID?由于我的新 CLSID 正在完成上述 CLSID 的工作,我认为应该是这样。
如何创建一个名为 PersistentAddinsRegistered 而不是 InprocSever32 的子目录
谢谢
c++ - 检查 DLL 是否已注册
我正在尝试使用 GetClassFile 函数将 DLL 名称作为参数传递并期望该函数返回 CLSID。然后使用 CoCreateInstance,我可以检查 dll 是否已注册。
GetClassFile()
即使传递已注册的 DLL,我也无法获得有效的回报。
c++ - CoGetClassObject 返回错误
我想阅读 Windows 联系人(Windows 7 通讯簿),但 CoGetClassObject 返回错误,我不知道为什么?
我的代码是:
它返回“错误:-2147221008”
如果有人对我有建议,那就太好了!
丹尼斯
PS详细信息:基于http://msdn.microsoft.com/en-us/library/ms735866.aspx(这是相当错误的)我尝试自己做,但函数CoGetClassObject返回错误,我不知道为什么?
activex - 是否有 x64 版本的 MsStkPrp.dll
我正在将 ATL 控件移植到 64 位。该控件在其属性对话框中使用 Stock 属性页(CLSID_StockFontPage、CLSID_StockColorPage)。
为 x64 重新编译后,颜色和字体选项卡丢失(因为 MsStkPrp.dll 是 32 位的)。是否有 64 位版本的 dll,或者是否有更好的方法在 ATL ActiveX 控件中实现字体和颜色?