在VBScript中使用DLL

本文关键字:DLL VBScript | 更新日期: 2023-09-27 18:29:00

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

在VBScript中使用DLL

重要:只有当DLL公开COM接口时,这两种方法才能工作。

如果您的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的SO答案应该特别有助于VBScript。

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

如何从VBScript 调用.NET DLL