2哥学Vb.net--VBS 操作VB.net dll

来源:互联网 发布:电大数据库基础与应用 编辑:程序博客网 时间:2024/05/18 03:02

  这两天在搞一个项目,其中涉及到要用vbs调用dll,用vs写个dll,还不是太辣手,但是要用vbs 调用dll,确实还是有点头大,但还好,我们有google。。。。

   先提下用vb.net 自己调用自己的dll方法:在解决方案资源管理器中有个引用,右键→添加引用→出来一个消息框→点击浏览选项卡→选择DLL文件,就这样。

   下面开始vbs 调用vb.net :

  

'System.Runtime.InteropServices这个名称空间提供了一系列的类来对COM对象进行操作 Imports System.Runtime.InteropServices
'定义为com组件'命名为Test.dll '为此 DLL 指定 GUID<ComVisible(True)> <ProgId("Test.DLL")> <Guid("df2dac4d-ba8a-4ecc-b76e-958c1bc32f1f")> _Class Class1    Public Sub myTest()       Meessagebox.show("Hello kitty") 'code////自己的代码    End SubEnd Class

 

'在生成dll之前,需要对程序集进行签名

Visual Studio 2012 Sign Assembly

在Choose a strong name key 下选择new,写入自己的key file name:例如

Visual Studio 2012 Create Strong Name Key

选择ok,然后生产dll文件。

ok,dll建好了,那么下面就该调用了

1.以管理员省份运行cmd,转到你的RegAsm.exe所在的.net 框架文件夹(4.5或者2.0文件夹下都有)下进行编写如下命令,如,我的.net 框架在(C:\Windows\Microsoft.NET\Framework64\v2.0.50727),那么在你的cmd界面所显示的应该是:

C:\Windows\Microsoft.NET\Framework64\v2.0.50727>regasm /codebase C:\Temp\VBScriptDotNetDLL.dll

其中c:\Temp为dll所在的文件夹,后面的那自然就是dll文件名了。

2.下面接下来要做的,大家都懂的,写自己的vbs:test.vbs

Dim mObj
set mObj = CreateObject("Test.DLL") '注意了:这里调用的是你前面的命名Test.DLL 而不是我们平时调用的所用的Class1
blnValid = mObj.myTest()'myTest你的方法


3,最后测试一下你的成果:

cmd->转到你dll文件夹下->wscript test.vbs

 

以上如果不清楚,请详细见:http://www.dirkstrauss.com/programming/calling-a-net-dll-from-vbscript#.UaQMu7KBSDs

 

 

原创粉丝点击