2010-02-25 96 views
0

我正在为我们的POS应用程序使用CD722UN客户显示器。使用DLL /驱动程序的最佳解决方案?

它配备了USB2.0接口,并含司机ECT一个安装包..

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

目前我使用的“CD722UN应用” S .dll文件路径,但来自客户端的OS ECT是可以warry ..

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我们的应用程序文件夹中,并使用
搜索路径""installed directory"\cd722dusb.dll"

什么是最好的解决办法吗?

在此先感谢!

回答

1

搞清楚如何正确访问设备通常不是一个好主意,当您没有文档说明如何正确使用设备时。在托管语言中有太多的可能性和代码可能会非常尴尬。如果供应商已经提供了访问DLL,那么你甚至可能甚至无法获得任何文档。

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

+0

太棒了!那就是我将要做的事情。选项nr1并将其包含在我已安装的应用程序文件夹中! (: 再一次感谢你 – Alexander 2010-02-25 12:16:56