在VBScript中使用DLL

我已经将C#代码编译成DLL,但对它们几乎没有经验。 我的C#代码包含一个带有静态方法Print() HelloWorld类。 我想在VBScript中使用这个DLL来调用方法Print() 。 我知道这是基础,但我正在使用它作为一个大规模项目的测试,最终将编译为DLL。 什么是声明的样子以及方法调用的外观如何?

如果您的dll已在系统中注册,请使用带有ProgID的CreateObject

 Set myObject = CreateObject("MyReallyCoolObject.HelloWorld") myObject.Print 

如果您的对象未在系统上注册,请使用带有包含对象的文件路径的GetObject 。 确保您的对象公开正确的界面。 (第二个参数是可选的。如果你的对象暴露了多个参数,你可以在这里提供一个类名。)

 Set myObject = GetObject("C:\some\path\helloworld.dll", "appname.HelloWorld") myObject.Print 

我想你可能正在寻找免注册COM 。 关于Microsoft.Windows.ActCtx的这个答案应该特别有助于VBScript。

请记住,COM不支持静态方法,因此您必须将Print方法转换为实例方法。

如何从VBScript调用.NET DLL