最近項目接觸到ActiveX。使用ActiveX嵌入到瀏覽器中,一方使用socket和手機端進行,一方使用https和伺服器進行互動,這邊文章 介紹最基本的ActiveX的建立和使用。
我使用的是MFC ActiveX ,第一步建立MFC ActiveX工程:
我選擇 的是無介面AxtiveX,你可以根據需要進行建立。
第二步建立對外的介面,供Js調用。
開啟類別檢視 ,點擊XXXLib,你會看到如所示的。右擊添加方法,選著下一步直接完成。
在添加的方法裡頭 添加下列語句:
AfxMessageBox(_T("JS調用成功!"));
第三步:編寫HTML網頁,調用ActiveX。
<HTML> <HEAD> <TITLE> 測試ActiveX </TITLE> <SCRIPT LANGUAGE="JavaScript">function PassParameter(){ MyActiveX1.Test(); }function callfun(i){ alert("callback function in js, ret=" + i);}</SCRIPT></HEAD><BODY><center> 測試ActiveX<p></p> <OBJECT ID="MyActiveX1" WIDTH=100 HEIGHT=51 CLASSID="CLSID:74340399-7DE7-4B66-93F7-BF581A0BD21B"> <PARAM NAME="_Version" VALUE="65536"> <PARAM NAME="_ExtentX" VALUE="2646"> <PARAM NAME="_ExtentY" VALUE="1323"> <PARAM NAME="_StockProps" VALUE="0"></OBJECT> <p><INPUT TYPE="button" NAME="Submit" VALUE="提交" onclick="PassParameter()"/></p></SCRIPT></center></BODY>
在代碼中,要插入ActiveX的classID。可以用Microsoft ActiveX Control Pad匯出。
第四步:編譯ActiveX,如果編譯成功可以得到一個MyActiveX.ocx檔案,這個檔案就相當於dll檔案。用命令:regsvr32 D:\My Documents\Visual Studio 2010\Projects\MyActiveX\Release\MyActiveX.ocx進行註冊。
反註冊:regsvr32 /u D:\My Documents\Visual Studio 2010\Projects\MyActiveX\Release\MyActiveX.ocx。你也可以寫一個bat檔案,這樣比較方便。
開啟網頁,點擊提交,你會發現彈框JS調用成功。說明Js調用ActiveX成功。
----------------------------------------------------------
問題:1、在ActiveX調用Js函數呢?
2、你會發現這樣使用ActiveX會出現指令碼不安全。這在下一篇會說到 。