问题标签 [progid]
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.
progid - 如何通过 ProgID 查找 COM 对象的 dll 路径?
如何通过 ProgID 查找 COM 对象的 dll 路径?
myCOMobject = CreateObject("SomeProgID")
如何使用 myCOMobject 找到注册的 COM Server 的 dll 路径?
c# - 这个 ProgId 值来自哪里?
我对 C# 和 Visual Studio 还很陌生,所以我可能在这里遗漏了一些基本的东西,但我找不到任何解决方案。
我得到了 2 个 NET 项目,其中一个是可执行一些操作的可执行文件,但主要的代码是:
另一个项目只是创建了一个 .dll 文件,我已通过右键单击“引用”并选择“添加引用...”将其添加到 Visual Studio 中的可执行文件中,然后浏览其他项目的 .dll 文件创建的。
但是,我无法更改 .dll 文件中的 progId。如果我将其保留为“NETLoginDevice.DemoLoginDevice”,它就可以工作。我还可以更改第一部分并让“TestMan.DemoLoginDevice”工作。但是,我想将其更改为“TestMan.Receiver”之类的内容,但可执行代码在尝试从该 progId 获取类型时返回 null。我需要改变什么才能让它工作吗?
我在项目的任何地方都找不到对“DemoLoginDevice”的任何其他引用,并且我定义的类的顶部看起来像:
似乎我应该能够将 progID 设置为“TestMan.Receiver”并且可执行代码应该可以工作,但是我得到了 ArgumentNullException。
编辑:我仍然无法让 Type.GetTypeFromProgID() 工作,但如果我这样做:
我可以在调试器中看到它返回一个
就像我做的那样:
我仍然不明白“DemoLoginDevice”的来源以及“TestMan.Receiver”为什么不起作用。我也尝试过更改 Guid(以防事情相互覆盖),但没有任何运气。
c# - 如果我的 com 对象的 ProgId 不是唯一的会发生什么?
这是我的类定义:
如果 com 客户端尝试通过 ProgId 创建我的对象并且随机有另一个具有相同 ProgId 的对象会发生什么?
c++ - 从 ProgID 获取 CLSID
我正在使用 Windows 10 1909 上的 com 组件开发小程序,但我遇到了 com 函数 CLSIDFromProgID 的问题。c++代码如下。
我检查了注册表中存在 progid,但是当我执行此代码时,ProgIDFromCLSID 函数返回无效的类字符串。更重要的是,当我从 clsid 获得 progid 时,我得到的 clsid 和原来的一样,我的意思是“ProvisioningWapDPURemote”。我找不到问题所在。有人可以帮我吗?
c++ - 为什么“CLSIDFromProgID”在某些情况下不起作用?
我正在开发使用 COM 对象的程序。我尝试从 COM 对象的 ProgID 获取 CLSID。ProgID 是“ProvisioningWapDPURemote”,我正在使用这个函数“CLSIDFromProgID”。代码如下。
当我执行此代码时,我无法获得错误代码“无效的类字符串”。所以我在注册表中检查了ProgID,发现CLSID和ProgId都存在。我不明白这里有什么问题。我用另一个 ProgId 尝试了这个函数,令人惊讶的是它可以工作。这里发生了什么?有谁知道这方面的,请给出一些答案。谢谢。
powershell - 枚举给定 ProgID 的 COM 对象公开的方法和属性
在这个问题之后,我想列出一个Component Object Model (COM)
对象公开的所有方法和属性,给定它的ProgID
. 从这里我可以列出注册表中所有可用的 COM 对象 ProgID:
尽管它.1
在某些导出字符串的末尾添加了一些数字(例如,)。
这里提出了一个小脚本,可以在给定 CLSID 的情况下完成这项工作。伪代码:
需要注意的是,我不知道 PowerShell,上面的 oneliner 很可能是错误的。
如果您能帮助我了解如何WScript.Shell
使用上述代码片段或任何其他方式获取 COM 对象的方法和属性列表,我将不胜感激。
PS它不一定是 PowerShell 解决方案。cmd/batch、JScript 和 VBScript 解决方案也很受欢迎。