VBS 中调用dll

若想在VBS 中使用C++ 开发的dll , 需要将dll 做成COM 组件。以下是简单的COM开发以及在VBS中的使用示例。

一、VS2005 ATL Com 开发

  1. 打开VS2005,新建项目,File --> New -->Project ,选择Visual C++ -->ATL ,名字输入“COMPROJ” -->确定。
  2. 勾选”Support COM+1.0” 和”Support component registar” ,其他 默认,“finish”。
  3. 切换到类视图,右击COMPROJ---> 添加类。

             

       4. 选择“ATL”--->“ATL Simple Object”(ATL简单对象)-->“添加”。

            

     5. ATL 简单对象向导,输入类名称“FirstClass”,点击“完成”。

          

      6. 切换到类视图,在刚添加的IFirstClass右击,添加方法。(注:这里是在IFirstClass 上添加不是CFirstClass)。

           

      7. 添加方法向导,”方法名”中输入”AddData”  , 添加两个输入参数,勾选“in”,选择参数类型“LONG”,参数名“para1”,点击“添加”,同样方法添加第二个输入参数。

           

           

       添加输出参数: 在返回类型中选择“LONG *”,输入参数名“result”,勾选“retval”--->”添加”。点击“完成”。

         

      

     8. 切换到解决方法管理器,展开源文件,双击“COMPROJ.idl”打开文件,可以看见刚刚定义的方法:

         

    9. 双击FirstClass.cpp,编辑函数的实现代码,       *result = para1+para2;

        

  10.编译运行会生成dll ,并会自动注册到系统中。

二、在VBS中的使用。

Dim obj 
Dim cc

   Set obj = createobject("COMPROJ.FirstClass")
   cc=obj.AddData(100,2)
   msgbox cc    

注:  Set obj = createobject("COMPROJ.FirstClass")  的格式为“工程名.类名”

参考:https://blog.csdn.net/wangwenjing90/article/details/8771934

原文地址:https://www.cnblogs.com/small-lazybee/p/12551919.html