0

我正在为我们的 POS 应用程序使用 CD722UN 客户显示器。

它带有一个USB2.0连接和一个包含驱动程序等的安装包。

现在,对于我的应用程序。当我想访问这个驱动程序时应该怎么做?

目前我正在使用“CD722UN 应用程序”的 .dll 路径,但这可能会受到客户端操作系统等的警告。

    Declare Function opencd722usb Lib "C:\Program\cd7220 USB\cd722dusb.dll" () As Boolean
    Declare Function writecd722usb Lib "C:\Program\cd7220 USB\cd722dusb.dll" (ByRef dataoutput As Byte, ByVal Length As Integer) As Integer
    Declare Function readcd722usb Lib "C:\Program\cd7220 USB\cd722dusb.dll" (ByRef DataInput As Byte, ByVal size As Integer) As Integer
    Declare Function closecd722usb Lib "C:\Program\cd7220 USB\cd722dusb.dll" () As Boolean

我的第一个想法是首先检查设备管理器中是否安装了设备并以某种方式从那里使用驱动程序???

在我们的应用程序文件夹中分发 .dll 并使用
searchpath""installed directory"\cd722dusb.dll"

什么是最好的解决方案?

提前致谢!

4

1 回答 1

1

当您没有关于如何正确访问设备的零文档时,弄清楚如何自己访问设备通常不是一个好主意。有太多的可能性,代码在托管语言中可能会很尴尬。如果供应商已经提供了访问 DLL,您甚至可能无法获得任何文档。

如果您简单地将 DLL 复制到与您的 EXE 相同的文件夹中,该 DLL 将工作的可能性非常大。首先尝试一下,Declare 语句中只需要 DLL 名称。如果遇到问题,请在安装目录中查找可能还需要复制的其他 DLL。如果您可以在运行时发现路径,则下一个选项是 P/Invoke SetDllDirectory() 函数。下一个选项是让安装程序将包含 DLL 的目录添加到系统 PATH 环境变量中。硬编码路径是你最后的手段。

于 2010-02-25T11:48:59.507 回答