C#等效于JScript的新ActiveXObject

时间:2013-04-10 14:50:56

标签: c# activex jscript.net

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

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

1 个答案:

答案 0 :(得分:7)

您可以使用

创建COM对象的实例
Activator.CreateInstance(Type.GetTypeFromProgID(ProgID))

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

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!");