随笔 - 41  文章 - 2 评论 - 0 阅读 - 52435
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

若想在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

 

posted on   lazybee  阅读(3014)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示