20141118

最近一周做了一个关于仓库管理,拣货任务分配的模块,其中涉及到刷卡自动打印领取任务的功能点。

技术点:

C#调用C++、delphi的动态链接库。动态链接库的调用方法不同。效果也不相同。

DLL位置:执行程序根目录下面

例:

第一种:

[DllImport("shuipiao1.dll", EntryPoint = "checkticket", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]

第二种:

[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]

第三种:
[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_anticoll", CallingConvention = CallingConvention.Cdecl)]

实际案例:

  #region 调用dll接口方法// 打开串口 OpenComm(char *commPort,DWORD baud)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//        [DllImport("MifsDLL.dll", EntryPoint = "OpenComm", SetLastError = true,//CharSet = CharSet.Auto, ExactSpelling = false,//CallingConvention = CallingConvention.StdCall)]//打开串口public static extern Int16 OpenComm(string port, long baud);//装载密钥 WINAPI mifs_load_key(uchar _Mode, uchar _SecNr, uchar *Key)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//打开串口public static extern Int16 mifs_load_key(uint Mode, uint SecNr, byte[] Key);[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//mifs_request_2 寻卡public static extern Int16 mifs_request_2(long mode);[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_anticoll", CallingConvention = CallingConvention.Cdecl)]public static extern Int16 mifs_anticoll(uint Bcnt, byte[] port);//mifs_select(uchar *_Snr)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_select", CallingConvention = CallingConvention.Cdecl)]//选卡public static extern Int16 mifs_select(byte[] port);//mifs_authentication(uchar auth_mode,uchar *snr,uchar key_sector)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//认证秘钥public static extern Int16 mifs_authentication(uint mode, byte[] Snr, uint Key);//读卡数据 mifs_read(uchar _Adr, uchar *_Data)  出口函数16byte[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_read", CallingConvention = CallingConvention.Cdecl)]public static extern Int16 mifs_read(uint Adr, byte[] Data);//int WINAPI mifs_write(uchar _Adr, uchar *_Data) 写员工号[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]public static extern Int16 mifs_write(uint Adr, byte[] Data);// 蜂鸣 mifs_Buzzer(uchar bb)[DllImport("MifsDLL.dll", EntryPoint = "mifs_Buzzer", SetLastError = true,CharSet = CharSet.Auto, ExactSpelling = false,CallingConvention = CallingConvention.StdCall)]public static extern void mifs_Buzzer(int bb);#endregion

转载于:https://www.cnblogs.com/cwgyn/p/dll.html

动态调用链接库(dll) 续相关推荐

  1. java 项目加载dll文件,Java动态调用链接库dll文件

    Java动态调用链接库dll文件 Java动态调用链接库dll文件 因为项目需要,用到了java调用dll文件中的方法.写成dll文件大多是用C语言弄成的,对于我这个纯粹干java的人员来说,着实让我 ...

  2. python什么模块动态调用链接库_Python调用C/C++动态链接库的方法详解

    本文以实例讲解了Python调用C/C++ DLL动态链接库的方法,具体示例如下: 示例一: 首先,在创建一个DLL工程(本例创建环境为VS 2005),头文件: 1 2 3 4 5 6 7 8 9 ...

  3. python什么模块动态调用链接库_python如何调用扩展模块

    楔子 我们知道python的执行效率不是很高,而且由于GIL的原因,导致python不能充分利用多核CPU.一般的解决方式是使用多进程,但是多进程开销比较大,而且进程之间的通信也会比较麻烦.因此在解决 ...

  4. python什么模块动态调用链接库_python 动态调用模块、类、方法(django项目)

    需求:近一段时间基于django框架,开发各业务层监控代码,每个业务的监控逻辑不同,因此需要开发监控子模块,动态的导入调用. 项目名称:demo_django App:common_base.moni ...

  5. C#通过Kernel32.dll动态调用C++生成dll相关接口(结构体转换)相关问题整理

    公司内部服务器端全部采用C++开发,自然而然暴露给客户的肯定是C++提供的API.这里不介绍为何通讯间不采用xml或和其他方式进行传输,因为这是个个别案例. 公司C++高手一大堆,我只是个C++新手, ...

  6. c# 调用c库dll ,char*转string的解决办法

    最近由于有个未知的设备需要用到modbus通讯协议,底层需要与PLC通讯,坤跌,PLC啥型号也不清楚封在里面不能拆,前人只留了几个不能运行的QT代码以及不完整的文档.用惯了C#想要重新学QT,真不知猴 ...

  7. VS动态/静态链接库的使用方法

    c++的链接库库分为静态.动态链接库两种.使用静态库编译时为静态编译,静态编译将静态库中的代码编译进程序,生成的程序能够独立运行.而使用动态链接库在编译时为动态编译,动态编译不将动态库中的代码编译进程 ...

  8. java动态调用c++库

    前言 最近在做一个通过java程序调用c++动态语言库,在网上百度,谷歌找了诸多例子,还是屡试不爽.经过一番折腾还是披荆斩棘,创出一条道路.希望分享给正在迷茫的朋友们... 使用的环境 spring ...

  9. delphi 调用c语言dll,Delphi 动态调用C的DLL,报错。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有偿帮助也行. // DLL调用的说明文档. //下面的Delphi的代码,Delphi版本是XE10.2 type Tlmc1_Initial = fu ...

最新文章

  1. 招聘|追觅科技VSLAM​、CV算法实习生招聘
  2. 用verilog实现检测1的个数_入门指南:用Python实现实时目标检测(内附代码)
  3. Servlet架构初解析
  4. Linux TCP队列相关参数的总结
  5. 计算机网络与云计算研究背景,基于云计算背景下的计算机网络安全研究
  6. 【Greenplum异常】数据库报错 could not create temporary file No space left on device(求解决)
  7. 百度指数可视化_可视化指数
  8. php禁用eval,zp blog
  9. 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块
  10. python3.7输出语句_python3.4用循环往mysql5.7中写数据并输出的实现方法
  11. 【C/C++】与const有关的指针类型赋值
  12. cartographer探秘第四章之代码解析(七)--- pose_extrapolator.h 及 imu_tracker.h
  13. 【HDU6286】2018(容斥)
  14. 【SOT】SiamFC代码笔记
  15. 中国成品油价为啥会比美国贵30%?
  16. OpenHarmony hdc_std无反应的解决办法
  17. 3ds Max 实验十五 UV展开综合运用
  18. python get score gain_机器学习的特征重要性究竟是怎么算的
  19. 安装nltk库及nltk_data数据包
  20. PMO绩效考核的主要维度有哪些?

热门文章

  1. matlab guide 打开图像并将图像显示到界面
  2. 信号与系统实验:用Matlab表示常用连续时间信号
  3. 2018.9.15,Arduino—流水灯实验报告
  4. 三星s9android recovery,三星手机怎么进入recovery模式?详细图文教程指导
  5. Java 集合容器篇面试题(上)-王者笔记《收藏版》
  6. 小白学python爬虫_小白学爬虫——第一部分:简单学习Python
  7. 影响mysql导入效率的参数_extended-insert对mysqldump及导入性能的影响
  8. 武汉大学计算机学院参考书目,2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情...
  9. 【OpenCV 例程200篇】64. 图像锐化——Sobel 算子
  10. Python小白的数学建模课-18.最小生成树问题