最近在做視頻監控的二次開發,自然而然會涉及到了ocx控件。項目中要實現一個需求:如果系統注冊了ocx控件就不提示下載信息,反之就提示下載ocx控件信息。
網絡上也搜索了很多信息。
方法一:1 在注冊表HKEY_LOCAL_MACHINE-> SOFTWARE->Classes->CLSID->classes中找,找得方法是搜索command+F 搜索OCX
會出現ProgID 雙擊獲得數值數據。
2 直接通過js 代碼就可以判斷了
try{
var obj = new ActiveXObject("數值數據");
alert("已經注冊");
} catch(e) {
alert("沒有注冊");
}
總結:這種方法的缺點 因為ocx是沒有認證的activeX控件,IE是禁止的,所以要設置IE瀏覽器的安全設置。具體怎么設置百度下http://blog.csdn.net/patern_pan/article/category/1142183
這種方法對應用戶來說體驗是很差的。要設置瀏覽器,再下載,還要在瀏覽器中找個半天。
方法二:
//JSP頁面
<object id="DPSDK_OCX" classid="CLSID:D3E383B6-765D-448D-9476-DFD8B499926D" ></object>
//JS頁面
//我猜測這句話的意思是搜索注冊表是否存在classid為D3E383B6-765D-448D-9476-DFD8B499926D的數據。說錯了請大神指點
if(document.all.DPSDK_OCX.object == null) {
alert("您未注冊視頻控件,請先下載注冊!");
} else {
alert("已經注冊");
}
這種方法簡單方便,推薦