2010-02-25 76 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