лучшее решение использовать DLL / Driver? - PullRequest
0 голосов
/ 25 февраля 2010

Я работаю с клиентским дисплеем 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"

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

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

1 Ответ

1 голос
/ 25 февраля 2010

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

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

...