C# 等效于 JScript 的新 ActiveXObject

标签 c# activex jscript.net

我正在尝试使用在 C# 中的 JScript.NET 中发现的新 ActiveXObject() 的功能。我该怎么做?

并且不要说您可以用 COM 对象做的任何事情都可以在 C# 中完成。如果我想那样做,我早就这么做了。

最佳答案

您可以使用以下方法创建 COM 对象的实例

Activator.CreateInstance(Type.GetTypeFromProgID(ProgID))

然后使用后期绑定(bind)与他们合作。例如:

using System.Reflection;
...

Type wshType = Type.GetTypeFromProgID("WScript.Shell");
object wshShell = Activator.CreateInstance(wshType);
wshType.InvokeMember("Popup", BindingFlags.InvokeMethod, null, wshShell, new object[] {"Hello, world!"});

或者,使用 C# 4 的 dynamic 关键字:

// NB: Add reference to Microsoft.CSharp.dll
dynamic wshShell = Activator.CreateInstance(Type.GetTypeFromProgID("WScript.Shell"));
wshShell.Popup("Hello, world!");

关于C# 等效于 JScript 的新 ActiveXObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15929231/

相关文章:

c# - C# 属性的属性在 Getter 调用后发生变化

c# - 无法跟踪什么正在神秘地改变变量

google-chrome - 在 chrome 和 firefox 中启用 ActiveX 控件

c# - 如何使用证书签署 ActiveX DLL

.net - 人们使用 JScript.Net 的目的是什么?

c# - System.IO.Ports 5.0 NuGet 包在我的解决方案中不起作用

c# - OpenRasta - 资源 uri 不正确时返回不正确的状态代码

windows - 标准 ActiveXObject 引用列表

.net - 如何解决 JScript.NET 程序集引用错误 JS1259?

asp.net - $Find 返回 null