首先创建一个类库
然后删除掉默认的类,当然留着也可以
接下去添加 新建项
然后添加COM类
随便取一个名字,记住,不能中文,不能中文,不能中文
可以编写任意函数代码
<ComClass(aabb.ClassId, aabb.InterfaceId, aabb.EventsId)> _
Public Class aabb
#Region "COM GUID"
' 这些 GUID 提供此类的 COM 标识
' 及其 COM 接口。若更改它们,则现有的
' 客户端将不再能访问此类。
Public Const ClassId As String = "7a18a092-9f71-45e1-98c0-eb7d7e7c8a30"
Public Const InterfaceId As String = "d49ba9e0-5d56-439f-b96a-5f83cf8dc324"
Public Const EventsId As String = "f0e4b02e-2588-4a82-a9c8-69457de2a560"
#End Region
' 可创建的 COM 类必须具有一个不带参数的 Public Sub New()
' 否则, 将不会在
' COM 注册表中注册此类,且无法通过
' CreateObject 创建此类。
Public Sub New()
MyBase.New()
MsgBox("DLL启动事件")
End Sub
Public Function add(a, b)
Return a + b
End Function
Public Function addstring(a As String, b As String) As String
Return a + b
End Function
End Class
然后就是怎么注册了,注册的方法和传统COM不一样
首先,先把模式改一下
改成release的X86
然后生成就行了
接下来,在生成目录,添加一个文本文档,输入
taskkill /f /t /im 按键精灵2014.exe //结束按键精灵进程,因为按键精灵开着,是注册不了的或者会莫名其妙错误的
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe DLL编写教程.dll /unregister'先卸载
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe DLL编写教程.dll /codebase'再注册更新
pause'等待输入
如果第一次注册,不调试,只需要下面一行代码就行了
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe DLL编写教程.dll /codebase
taskkill /f /t /im 按键精灵2014.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe DLL编写教程.dll /unregister
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe DLL编写教程.dll /codebase
pause
然后保存为bat格式
然后运行就注册了
接下来我们要打开按键精灵
看,可以正常使用了
测试一下函数看看
然后怎么打包发布给别人呢,只需要打包这三个文件就行了