金橙子的函数库这个根本没法调用

qq_28640889 2020-01-04 08:07:20
试了好多调用方法都不行

直接引用和调用API函数调用也不行
   Private Function GetProcAddress(ByVal hModule As IntPtr, ByVal procName As String) As UIntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function LoadLibrary(ByVal lpFileName As String) As IntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, EntryPoint:="FreeLibrary")> _
Public Shared Function FreeLibrary(ByVal hModule As IntPtr) As Boolean
End Function


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("E:\设备项目\项目\影像检测\激光刻字+影像\EzCad270-开发版\EzCad270-OPEN\MarkEzd.dll")
' Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom("E:\设备项目\项目\影像检测\激光刻字+影像\EzCad270-开发版\EzCad270-OPEN\MarkEzd.dll")
Dim A As IntPtr = LoadLibrary(" 路径及名称 ")
ListBox1.Items.Add("句柄:" & A.ToString)
Dim C As String = "LmcLib.LmcErrCode"
Dim B As UIntPtr = GetProcAddress(A, C)
ListBox1.Items.Add("DLL中的输出函数地址:" & B.ToString)
ListBox1.Items.Add("指针指向的函数名:" & C)
Dim D As Boolean = FreeLibrary(A)
ListBox1.Items.Add("释放结果:" & D)
Dim aa As LmcLib.LmcErrCode

End Sub
...全文
367 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28640889 2021-04-19
  • 打赏
  • 举报
回复
这个问题我已解决,直接引用里面的LmcLib.dll 直接用里面的函数就行
清晨曦月 元老 2020-01-04
  • 打赏
  • 举报
回复
这玩意似乎挺恶心的嘞。。。
直接调用API,就像你调用的loadlibrary一样调用它的函数,用x86编译。

然后,貌似只能在打标机上调试。。。好像是加密狗的事来
资源下载链接为: https://pan.quark.cn/s/67c535f75d4c 在计算机编程领域,动态链接库(Dynamic Link Library,DLL)是一种重要的技术,它允许多个程序共享同一段代码,从而节约系统资源并提升运行效率。橙子科技推出了一款名为“EzCadEx”的C#调用动态库扩展,为开发者提供了便捷高效的开发体验。 EzCadEx是专为.NET框架设计的开发工具链中的重要组成部分,它专注于提供与动态库交互的能力。通过简单的引用操作,开发者可以轻松调用其丰富的函数接口,无需深入了解底层动态库的加载和管理细节。EzCadEx.dll作为该扩展的核心组件,包含了完整的函数集,涵盖了常见的CAD操作功能,如创建、编辑、显示和打印图形,读取和写入DWG、DXF等CAD文件格式,以及支持复杂的几何计算和对象操作。 使用EzCadEx的优势在于其简洁的API设计。开发者可以通过简单的函数调用来完成复杂的CAD任务,大幅减少代码量,提高代码的可读性和可维护性。例如,开发者可以轻松地打开DWG文件,进行图形绘制、修改或查询,并将结果保存到新文件中。这种高效的工作流程对于频繁处理CAD数据的开发者来说具有重要价值。 需要注意的是,EzCadEx不包含基础库,而是依赖于特定版本的MarkEzd2.7.0来运行。MarkEzd可能是橙子提供的另一款基础库,用于处理底层的CAD操作。因此,确保与正确版本的MarkEzd兼容是使用EzCadEx的关键,否则可能会导致运行时错误。 在实际开发中,开发者应熟悉EzCadEx的API文档,了解每个函数的作用、参数和返回值。同时,良好的错误处理机制也是必不可少的,以应对可能出现的异常情况,如文件读写错误、内存不足等。 总之,橙子C#调用动态库扩展EzCadEx为.NET开发者提供了一个强大且易用的工具。通过熟练掌握EzCad

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧