一. 關于ActiveX
二. ActiveX的開發環境
基于ffmpeg的ocx開發使用了visual studio 2010環境作為編譯平台因為vs平台提供了良好的開發ocx類庫支援已經所用到的MFC架構。Vs提供的類向導工具能夠幫助開發者提供快速的事件添加機制。
三. Ocx與web的關系
Ocx被叫做插件控件因為其體積小幾乎不受運作環境影響是以常被當做浏覽器中的用戶端使用而且它能夠自動提醒使用者更新。Ocx被web調用的格式一般為
<head>
</head>
<body>
<div>
<OBJECT ID="MyActiveX1" WIDTH=400 HEIGHT=300
classid="CLSID:E6FB5690-0648-4DBC-8571-B57BE03B80EB"
CODEBASE="XXX.cab">
</OBJECT>
</div>
</body>
</html>
其中classid為vs為ocx生成的ID号可以通過vs提供的OLEVIEW.EXE工具獲得。Codebase屬性為.cab檔案所在路徑cab為ocx經過打包将ocx的依賴項一起打包成.cab格式檔案。Ocx的依賴檔案可以通過vs提供的DEPENDS.EXE工具獲得。打包要用到的幾個工具可以從網上下載下傳并且.inf檔案的格式網上也有很多介紹。
通常ActiveX控件在開發并注冊後一旦在網頁中運作IE并不認為這是一個腳本安全的會彈出一個IE提示已經阻止此站點以不安全的方式使用ActiveX控件這個不要緊點第一項安裝一下就ok了。
四. Ocx的接口
Ocx的接口是為了web與ocx控件進行互動開發的函數的生成可以使用vs提供的類向導選項建立。在web中可以使用jsp等一些腳本語言調用。
五. Ocx開發注意事項
1. 要想使mfc視窗嵌入到web程式必須設定mfc窗體的style屬性為child。
2. visible屬性為TRUE否則窗體不顯示。
3. 編譯的時候可能報類似錯誤
error MSB8011:未‘能\uinput2注?冊e輸出o。B請嘗試啟用p“g逐€用p戶重d定e向u”hC或?者O使g用p提n升!的I權限A從C命?令s提n示|符?處注?冊e該元件?。B
這個沒關系ocx已經生成成功隻不過編譯器沒用成功注冊而已可以手動注冊。
4. Ocx的手動注冊為在指令行運作視窗輸入 regsvr32 然後将需要注冊的ocx檔案拖入到輸入框然後回車就可以注冊成功如果沒有成功請将ocx的依賴項添加到oxc所在的檔案夾。
5. ocx的解除安裝同注冊類似隻不過在regsvr32 後面再加入一個參數 /u即可。
6. ocx不能單獨運作是以需要調試可以使用web載入ocx或者使用vs提供的工具TSTCON32.EXE這個工具在2010裡面也有不過需要進行編譯代碼才能生成。可以使用vc6.0安裝目錄下的以上調試工具。