(二)傷不起--WEB調用dll+ActiveX控件

 本項目中除了涉及到java 調用dll 外,還用到web 來調用 dll+activeX 控件!javascript

將動態庫dll 封裝成控件優缺點對比html

優:方便直接,用戶只要有IE就行。java

缺:只能針對不一樣瀏覽器作不一樣的控件,如IE,FireFox 等。web

說明:瀏覽器

DLL(動態連接庫): 分WIN32 DLL和MFC DLL
ActiveX:分ATL控件和MFC控件兩類(也是一個DLL)
WEB:JAVASCRIPT 調用-> ActiveX調用-> DLL 完成加法運算並返回值,在頁面上顯示。
服務器

(一)動態庫dll 與 ActiveX 實現網絡

   實現方式:本文不闡述(參考相關文檔,網絡上有不少)。ide

  通常狀況下會有下面四個文件,以下圖所示this

生成後的ActiveX控件

其中 SMT_SeraCtr.inf內容以下:spa

它描述了下載的內容和目標目錄還有版本號及相應的DLL文件。這個要手動編寫的。
[version]   
signature="$CHINA$"  
AdvancedINF=1.0 
  
[Add.Code]   
SMT_SeraCtr.ocx=SMT_SeraCtr.ocx 

[SMT_SeraCtr.ocx]   
file=thiscab   
clsid={DD0EEBEE-D54E-43E0-8645-AA90BDBDE718}   
FileVersion=1,1,1,10 
RegisterServer=yes   

        XXX應用控件能夠在IE6(或更高版本)瀏覽器中使用,主要用來操做手機讀頭。 也可在應用程序中直接調用。

   (二)如何使用:

在IE中調用方式以下:

 

一、在HTML頁面中引用控件 ,代碼以下。

  <OBJECT ID="SeraCtr" CLASSID=" clsid:DD0EEBEE-D54E-43E0-8645-AA90BDBDE718" height=0 width=0 codeBase=」SMT _SeraCtr.cab#version=1,0,0,10」 style="VISIBILITY: hidden" ></OBJECT>
        若是更新發布了新控件版本,請替換服務器的SMT_SeraCtr.cab文件,並更新codeBase的版本號:version=1,0,0,1 0。對於WEB應用,建議全部引用部分作成統一調用方式。
 
二、在HTML頁面腳本中,根據應用須要,作對應的方法調用。
<SCRIPT language="javascript" for="CardReader" event="OnlineStateChange(online_state);">
{
       UpdateOnlineState(online_state);
}
</SCRIPT>
-----------------------------------------------------------------------------
說明:
       codeBase="SMT_SeraCtr.cab#version1,0,0,10" codeBase表示文件相對或者絕對路徑;version表示版本號,若是這個號和INF文件的版本號同樣,那麼第二次訪問頁面就不會下載,不然每次都下載。CLSID 是 ActiveX 項目生成的序號,具體能夠在項目的*.rgs 文件中找到。
好了。全部的步驟都完成了,這時你運行index.html,提示ActiveX控件,你選擇容許,而後就能夠調用了。 
注意:上傳文件時,不能上傳html 全部將文件擴展名修改成.txt
調用後以下圖所示:
  調用後界面

 查看IE加載哪些ActiveX 控件

IE加載項

相關文章
相關標籤/搜索