4

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

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

4

1 回答 1

8

您可以使用创建 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!");
于 2013-04-11T07:25:00.113 回答