DLL呼叫使用的方法
public class ImportDLL
{
[DllImport("kernel32.dll")]
private extern static IntPtr LoadLibrary(String path);
private IntPtr hLib;
public ImportDLL(String DLLPath)
{
hLib = LoadLibrary(DLLPath);
}
}
hLib = LoadLibrary(DLLPath);
神思身份證讀卡DLL有動態庫RdCard.dll 需依賴sdtapi.dll WltRS.dll 兩項,
現在用這個方法呼叫其它沒有依賴的dll都沒問題,但呼叫RdCard.dll回傳為0,呼叫不成功
找了好多辦法都不起作用,嘗試過用LoadLibraryEx也是一樣的效果
請求高人指點!謝謝
uj5u.com熱心網友回復:
發錯版塊了吧,代碼是 C# 的哦,直接把 DLL 按照 LoadLibrary 那樣寫就好了,另外需要注意的是:DLL 是分 32 和 64 位版的,如果樓主是 64 位系統,編譯的時候要選 32 位版的 X86 模式。
uj5u.com熱心網友回復:
asp.net 使用C#語言開發這個問題已找到答案了,需要將3個dll放入服務器system32檔案中
目前的新問題是:服務器除錯運行使用dll功能都沒問題,但發布后使用報錯
有人說是IIS權限設定有關系,但不知道該怎么設定才能運行
uj5u.com熱心網友回復:
DLL 放到網站 bin 目錄試試uj5u.com熱心網友回復:
system32 和 bin 目錄都放置了,除錯運行都是可以的發布的時候
[AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.]
Common.J3K6U_InitDriver.Invoke() +0
Common.JBC3500PFU.j3k6u_InitDriver() +78
J3K6U_InitDriver 是呼叫的DLL函式名稱
uj5u.com熱心網友回復:
問題一遍又一遍更新了,最終發現客戶端呼叫DLL去讀取設備資料,不是那么簡單了。新問題又出來了:javascript + activeX 怎么樣才能呼叫 該 dll 呢,因為沒有ocx,
只提供了dll
等待……。
uj5u.com熱心網友回復:
怎么沒人回答呢,。………上面的問題變成了 在html呼叫ActiveX正常,但放到aspx里瀏覽的時候還是可以運行,到了發布就用不了了,好糾結
uj5u.com熱心網友回復:
親,我有沒有解決啊。我也遇到了發布不能訪問的問題。急啊。uj5u.com熱心網友回復:
似乎要寫一個瀏覽器插件, 還不如開發一個客戶端呢.轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/78856.html
標籤:網絡通信/分布式開發
上一篇:access中過濾空資料
下一篇:入庫問題請教
