лучшее решение для использования DLL/драйвера?

Я работаю с дисплеем клиента CD722UN для нашего POS-приложения.

он поставляется с соединением USB2.0 и установочным пакетом, содержащим драйвер и т. Д.

теперь, для моего приложения. как мне поступить, если я хочу получить доступ к этому драйверу?

на данный момент я использую путь .dll «приложения CD722UN», но это может зависеть от клиентской ОС и т. д.

    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"

какое лучшее решение?

заранее спасибо!


person Alexander    schedule 25.02.2010    source источник


Ответы (1)


Выяснение того, как получить доступ к устройству самостоятельно, обычно не является хорошей идеей, если у вас нет документации о том, как это сделать правильно. Возможностей слишком много, и код на управляемом языке может быть довольно громоздким. Вероятно, вы даже не сможете получить какую-либо документацию, если поставщик уже предоставляет доступ к DLL.

Скорее всего, эта DLL будет работать, если вы просто скопируете DLL в ту же папку, что и ваш EXE. Сначала попробуйте это, в инструкции Declare требуется только имя DLL. Найдите в каталоге установки другие библиотеки DLL, которые, возможно, потребуется скопировать, если у вас возникнут проблемы. Следующий вариант — P/вызвать функцию SetDllDirectory(), если вы можете обнаружить путь во время выполнения. Следующий вариант заключается в том, чтобы установщик добавил каталог, содержащий DLL, в системную переменную среды PATH. Жесткое кодирование пути — ваше последнее средство.

person Hans Passant    schedule 25.02.2010
comment
Потрясающие! это то, что я буду делать тогда. вариант №1 и включить его в папку с установленным приложением! (: еще раз, спасибо - person Alexander; 25.02.2010