发布网友 发布时间:2022-05-23 10:05
共1个回答
热心网友 时间:2023-08-28 03:15
一般情况下针对单反相机、高拍仪、IR射频读卡器等各类硬件时,我们有一个专有的名词“硬件二次集成”,什么意思呢,就是一般要求其对应的公司提供C#版本的SDK,但是并不是每个硬件都存在对应的开发的SDK的——至少我在做硬件二次集成时并不能找到对应的C#版本的SDK。这种情况下我们要求我们对硬件有一定的选择。
优先选择带有C#SDK的设备(这个吧几乎不可能)
优先选择带有dll的设备(部分公司会提供开发用的dll)——C#可以使用平台调用的方式进行调用。
带有电脑操作软件的设备(这个很多公司都有)——C#同样使用平台调用的方式进行调用(符合windows dll类库的相关作用,一般需要部署机器上安装软件)。
有些虽然带有dll或开发的dll,有几种情况,一种是带有文档的,一种是只给一个C/C++的头文件,还有的是根本没什么任何文档,更甚者居然给一个错误的文档——很多硬件集成的情况就是这样。比如我曾经做一个卡片机(相机),让其厂商修改固件,然后直接集成到C#软件中,除了给几个dll什么都没有!这种情况是最难受人的,需要你反查dll中的函数。而使用软件的一般可以在windows dll调用,至少这些dll部分是属于windows还存在一些资料。
如果你没做过,我建议你还是别做这样,其实是很复杂的。至少他不能象摄象头或指纹仪之类的,在windows中本身存在免驱(就是由windows提供驱动),还有类似的windows生物识别开发框架。