必威电竞|足球世界杯竞猜平台

ActiveX
來(lái)源:互聯(lián)網(wǎng)

ActiveX是由微軟創(chuàng)建的一個(gè)開(kāi)放的集成平臺(tái),為開(kāi)發(fā)人員、用戶和Web生產(chǎn)商提供了一個(gè)快速而簡(jiǎn)便的在Internet和Intranet創(chuàng)建程序集成和內(nèi)容的方法。它可以輕松方便地在Web頁(yè)中插入多媒體效果、交互式對(duì)象、以及復(fù)雜程序,創(chuàng)建用戶體驗(yàn)相當(dāng)?shù)母哔|(zhì)量多媒體CD-ROM。ActiveX在廣義上是指微軟公司的整個(gè)COM架構(gòu),但現(xiàn)在通常用來(lái)稱呼基于標(biāo)準(zhǔn)COM接口來(lái)實(shí)現(xiàn)對(duì)象鏈接與嵌入(OLE)的ActiveX控件。ActiveX控件是指從VBX發(fā)展而來(lái)的,面向微軟的Internet Explorer技術(shù)而設(shè)計(jì)的以O(shè)CX為擴(kuò)展名的OLE控件。通過(guò)定義容器和組件之間的接口規(guī)范,如果編寫了一個(gè)遵循規(guī)范的控件,那么可以很方便地在多種容器中使用而不用修改控件的代碼。ActiveX在1996年被微軟公司推出,它不依賴于Microsoft Windows操作系統(tǒng),但實(shí)際上,大多數(shù)ActiveX控件只能在Windows上運(yùn)行。大多數(shù)ActiveX控件還需要客戶端在基于x86的計(jì)算機(jī)上運(yùn)行,因?yàn)锳ctiveX控件包含編譯代碼。ActiveX仍然在Microsoft Edge的“Internet Explorer模式”中得到支持,但它的擴(kuò)展系統(tǒng)與基于谷歌的Chromium項(xiàng)目的Microsoft Edge不兼容。

微軟定義

根據(jù)微軟權(quán)威的軟件開(kāi)發(fā)指南MSDN(Microsoft Developer Network)的定義,ActiveX插件以前也叫做OLE控件或OCX控件,它是一些軟件組件或?qū)ο螅梢詫⑵洳迦氲絎EB網(wǎng)頁(yè)或其它應(yīng)用程序中。

ActiveX控件是Microsoft的ActiveX技術(shù)的一部分。ActiveX控件是可以在應(yīng)用程序和網(wǎng)絡(luò)中計(jì)算機(jī)上重復(fù)使用的程序?qū)ο蟆?chuàng)建它的主要技術(shù)是Microsoft的ActiveX技術(shù),其中主要是組件對(duì)象模型(COM)。ActiveX控件可以以小程序下載裝入網(wǎng)頁(yè),也可以用在一般的Windows和麥金塔應(yīng)用程序環(huán)境中。一般說(shuō)來(lái),ActiveX 控件代替了原先的OCX,它與Applet的概念和功能差不多。ActiveX控件可以由不同的可以識(shí)別微軟的COM技術(shù)的語(yǔ)言開(kāi)發(fā),它是一個(gè)組件或自包含的軟件包,它可以在同一個(gè)或分布式的計(jì)算環(huán)境中開(kāi)發(fā)或使用。COM的分布式支持技術(shù)稱為DCOM。在實(shí)現(xiàn)中,ActiveX控件是一個(gè)動(dòng)態(tài)鏈接庫(kù)(DLL)模塊,它包括在容器(包括COM程序接口的應(yīng)用程序)當(dāng)中。這種可重復(fù)使用的組件技術(shù)可以加快開(kāi)發(fā)速度和質(zhì)量,Windows 95 /NT應(yīng)用程序開(kāi)發(fā)程序如Powerbuilder和Access都利用了ActiveX控件??。

Windows操作系統(tǒng)中以O(shè)CX結(jié)尾的文件,OCX代表“對(duì)象鏈接與嵌入控件”(OLE),這個(gè)技術(shù)是微軟提出的程序技術(shù),用于處理桌面文件的混合使用。組件對(duì)象模型的概念已經(jīng)取代OLE的一部分,Microsoft也使用ActiveX控件代表組件對(duì)象。

控件分類

自動(dòng)化服務(wù)器

可以由其他應(yīng)用程序編程驅(qū)動(dòng)的組件。自動(dòng)化服務(wù)器至少包括一 個(gè),也許是多個(gè)供其他應(yīng)用程序生成和連接的基于IDispatch的接口。自動(dòng)化服務(wù)器可以含有也可以沒(méi)有用戶界面(UI),這取決于服務(wù)器的特性和功能。

自動(dòng)化控制器

那些使用和操縱自動(dòng)化服務(wù)器的應(yīng)用程序。

控件

ActiveX控件等價(jià)于以前的OLE控件或OCX。一個(gè)典型的控件包括設(shè)計(jì)時(shí)和運(yùn) 行時(shí)的用戶界面,唯一的IDispatch接口定義控件的方法和屬性,唯一的 IConnectionPoint接口用于控件可引發(fā)的事件。

文檔

ActiveX文檔,即以前所說(shuō)的DocObject,表示一種不僅僅是簡(jiǎn)單控件或自動(dòng) 化服務(wù)器的對(duì)象。ActiveX文檔在結(jié)構(gòu)上是對(duì)OLE鏈接和模型的擴(kuò)展,并對(duì)其所在的 容器具有更多控制權(quán)。一個(gè)最顯著的變化是菜單的顯示方式。一個(gè)典型的OLE文檔的 菜單會(huì)與容器菜單合并成一個(gè)新的集合,而ActiveX文檔將替換整個(gè)菜單系統(tǒng),只表 現(xiàn)出文檔的特性而不是文檔與容器共同的特性。

容器

ActiveX容器是一個(gè)可以作為自動(dòng)化服務(wù)器、控件和文檔宿主的應(yīng)用程序。

控件優(yōu)點(diǎn)

組件的一大優(yōu)點(diǎn)就是可以被大多數(shù)應(yīng)用程序再使用(這些應(yīng)用程序稱為組件容器)。一個(gè)COM組件(ActiveX控件)可由不同語(yǔ)言的開(kāi)發(fā)工具開(kāi)發(fā),包括C++和Visual Basic或powerbuilder,甚至一些技術(shù)性語(yǔ)言如VBScript

控件

以前稱為OLE控件或OCX控件是組件(或?qū)ο螅┐虬鼊e人編程功能。以便您可以重用Web頁(yè)或在其他程序中插入。例如,隨InternetExplorer一起提供ActiveX控件可用于增強(qiáng)Web頁(yè)具有復(fù)雜格式功能和動(dòng)畫(huà)。

ActiveX控件結(jié)合了Java程序和網(wǎng)景插件優(yōu)點(diǎn),還可以用許多編程語(yǔ)言,包括所有微軟編程和在數(shù)據(jù)庫(kù)語(yǔ)言編寫程序中使用ActiveX控件。

使用ActiveX控件可快速實(shí)現(xiàn)小型的組件重用、代碼共享。

除此之外,為了滿足更多地需求,也出現(xiàn)集成于各種開(kāi)發(fā)環(huán)境的ActiveX控件,由第三方提供,如ComponentOne Studiofor ActiveX、ActiveReportsCOM、TX Text Control ActiveX等。這些ActiveX控件有助于開(kāi)發(fā)出商業(yè)級(jí)的Windows應(yīng)用程序。應(yīng)該根據(jù)實(shí)際情況,合理使用。

文檔

用一個(gè)ActiveX-識(shí)別Web瀏覽器如InternetExplorer,瀏覽時(shí)ActiveX文檔使您能夠使用自己的工具欄和菜單可打開(kāi)程序。這意味著您可以通過(guò)使用ActiveX-識(shí)別Web瀏覽器打開(kāi)非HTML,如MicrosoftExcel或MicrosoftWord文件。

腳本

ActiveX腳本支持最常用腳本語(yǔ)言,包括微軟 Visual Basic腳本和ECMAScript。ActiveX腳本可用于集成行為若干ActiveX控件或Java程序從Web瀏覽器或服務(wù)器,擴(kuò)展其功能。

特點(diǎn)

在因特網(wǎng)上,ActiveX插件軟件的特點(diǎn)是:一般軟件需要用戶單獨(dú)下載然后執(zhí)行安裝,而ActiveX插件是當(dāng)用戶瀏覽到特定的網(wǎng)頁(yè)時(shí),IE瀏覽器即可自動(dòng)下載并提示用戶安裝。ActiveX插件安裝的一個(gè)前提是必須經(jīng)過(guò)用戶的同意及確認(rèn)。

ActiveX插件技術(shù)是國(guó)際上通用的基于Windows平臺(tái)的軟件技術(shù),除了網(wǎng)絡(luò)實(shí)名插件之外,許多軟件均采用此種方式開(kāi)發(fā),例如Flash動(dòng)畫(huà)播放插件、微軟 MediaPlayer插件、CNNIC通用網(wǎng)址插件等。

相關(guān)內(nèi)容

保證安全

當(dāng)通過(guò)Internet發(fā)行軟件時(shí),軟件的安全性是一個(gè)非常引人注意的問(wèn)題,IE瀏覽器通過(guò)以下的方式來(lái)保證ActiveX插件的安全:

ActiveX使用了兩個(gè)補(bǔ)充性的策略:安全級(jí)別和證明,來(lái)追求進(jìn)一步的軟件安全性;

Microsoft提供了一套工具,可以用它來(lái)增加ActiveX對(duì)象的安全性;

通過(guò)Microsoft的驗(yàn)證代碼工具,可以對(duì)ActiveX控件進(jìn)行簽名,這告訴用戶你的確是控件的作者而且沒(méi)有他人篡改過(guò)這個(gè)控件;

為了使用驗(yàn)證代碼工具對(duì)組件進(jìn)行簽名,必須從證書(shū)授權(quán)機(jī)構(gòu)獲得一個(gè)數(shù)字證書(shū);證書(shū)包含表明特定軟件程序是正版的信息,這確保了其他程序不能再使用原程序的標(biāo)識(shí)。證書(shū)還記錄了頒發(fā)日期。當(dāng)您試圖下載軟件時(shí),Internet Explorer會(huì)驗(yàn)證證書(shū)中的信息,以及當(dāng)前日期是否在證書(shū)的截止日期之前。如果在下載時(shí)該信息不是最新的和有效的,Internet Explorer將顯示一個(gè)警告;

在IE默認(rèn)的安全級(jí)別中,ActiveX控件安裝之前,用戶可以根據(jù)自己對(duì)軟件發(fā)行商和軟件本身的信任程度,選擇決定是否繼續(xù)安裝和運(yùn)行此軟件。

Internet Explorer 7中,安全性有進(jìn)一步的提高。

相關(guān)技術(shù)

比較流行的組件模型有COM(Component Object Model,對(duì)象組件模型)/DCOM(Distributed COM,分布式對(duì)象組件模型)和CORBA(Common Object Request Broker 建筑,公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))。到這里,已經(jīng)出現(xiàn)了與本文相關(guān)的主題COM,而CORBA與本文無(wú)關(guān),就不作介紹。之所以從組件與對(duì)象的區(qū)別說(shuō)起,是想讓大家明確COM和CORBA是處在整個(gè)體系結(jié)構(gòu)的最底層,如果暫時(shí)對(duì)此還不能理解,不妨繼續(xù)往下看,最后在回過(guò)頭看一看就自然明白了。

現(xiàn)在開(kāi)始闡述ActiveX、OLE和COM的關(guān)系。首先,讓大家有一個(gè)總體的概念,從時(shí)間的角度講,OLE是最早出現(xiàn)的,然后是COM和 ActiveX;從體系結(jié)構(gòu)角度講,OLE和ActiveX是建立在COM之上的,所以COM是基礎(chǔ);單從名稱角度講,OLE、ActiveX是兩個(gè)商標(biāo)名稱,而COM則是一個(gè)純技術(shù)名詞,這也是大家更多的聽(tīng)說(shuō)ActiveX和OLE的原因。既然OLE是最早出現(xiàn)的,那么就從OLE說(shuō)起,自從Windows操作系統(tǒng)流行以來(lái),“剪貼板”(Clipboard)首先解決了不同程序間的通信問(wèn)題(由剪貼板作為數(shù)據(jù)交換中心,進(jìn)行復(fù)制、粘貼的操作),但是剪貼板傳遞的都是“死”數(shù)據(jù),應(yīng)用程序開(kāi)發(fā)者得自行編寫、解析數(shù)據(jù)格式的代碼,于是動(dòng)態(tài)數(shù)據(jù)交換(Dynamic Data Exchange,DDE)的通信協(xié)定應(yīng)運(yùn)而生,它可以讓應(yīng)用程序之間自動(dòng)獲取彼此的最新數(shù)據(jù),但是,解決彼此之間的“數(shù)據(jù)格式”轉(zhuǎn)換仍然是程序員沉重的負(fù)擔(dān)。對(duì)象的鏈接與嵌入(Object Linking and Embedded,OLE)的誕生把原來(lái)應(yīng)用程序的數(shù)據(jù)交換提高到“對(duì)象交換”,這樣程序間不但獲得數(shù)據(jù)也同樣獲得彼此的應(yīng)用程序?qū)ο螅⑶铱梢灾苯邮褂帽舜说臄?shù)據(jù)內(nèi)容,其實(shí)OLE是微軟的復(fù)合文檔技術(shù),它的最初版本只是瞄準(zhǔn)復(fù)合文檔,但在后續(xù)版本OLE2中,導(dǎo)入了COM。由此可見(jiàn),COM是應(yīng)OLE的需求而誕生的,所以雖然COM是OLE的基礎(chǔ),但OLE的產(chǎn)生卻在COM之前。組件對(duì)象模型的基本出發(fā)點(diǎn)是,讓某個(gè)軟件通過(guò)一個(gè)通用的機(jī)構(gòu)為另一個(gè)軟件提供服務(wù)。COM的第一個(gè)使用者卻是OLE2,所以COM與復(fù)合文檔間并沒(méi)有多大的關(guān)系,實(shí)際上,后來(lái)COM就作為與復(fù)合文檔完全無(wú)關(guān)的技術(shù),開(kāi)始被廣泛應(yīng)用。這樣一來(lái),微軟就開(kāi)始“染指”通用平臺(tái)技術(shù)。但是COM并不是產(chǎn)品,它需要一個(gè)商標(biāo)名稱。而那時(shí)Microsoft的市場(chǎng)專家們已經(jīng)選用了OLE作為商標(biāo)名稱,所以使用COM技術(shù)的都開(kāi)始貼上了OLE的標(biāo)簽。雖然這些技術(shù)中的絕大多數(shù)與復(fù)合文檔沒(méi)有關(guān)系。Microsoft的這一做法讓人產(chǎn)生這樣一個(gè)誤解OLE是僅指復(fù)合文檔呢?還是不單單指復(fù)合文檔?其實(shí)OLE是COM的商標(biāo)名稱,自然不僅僅指復(fù)合文檔。但Microsoft自己恐怕無(wú)法解釋清楚,這要花費(fèi)相當(dāng)?shù)木蜁r(shí)間。于是,隨著Internet的發(fā)展,在1996年春,微軟改變了主意,選擇ActiveX作為新的商標(biāo)名稱。ActiveX是指寬松定義的、基于COM的技術(shù)集合,而OLE仍然僅指復(fù)合文檔。當(dāng)然,ActiveX最核心的技術(shù)還是COM。ActiveX和OLE的最大不同在于,OLE針對(duì)的是桌面上應(yīng)用軟件和文件之間的集成,而 ActiveX則以提供進(jìn)一步的網(wǎng)絡(luò)應(yīng)用與用戶交互為主。

COM地位

到這里,大家應(yīng)該對(duì)ActiveX、OLE和COM三者的關(guān)系有了一個(gè)比較明確的認(rèn)識(shí),COM才是最根本的核心技術(shù),所以下面的重點(diǎn) COM。讓對(duì)象模型完全獨(dú)立于編程語(yǔ)言,這是一個(gè)非常新奇的思想。這一點(diǎn)從C++和Java的對(duì)象概念上,我們就能有所了解。但所謂COM對(duì)象究竟是什么呢?為了便于理解,可以把組件對(duì)象模型看作是某種(軟件)打包技術(shù),即把它看作是軟件的不同部分,按照一定的面向?qū)ο蟮男问剑M合成可以交互的過(guò)程和一組支持庫(kù)。COM對(duì)象可以用C++、Java和VB等任意一種語(yǔ)言編寫,并可以用DLL或作為不同過(guò)程工作的執(zhí)行文件的形式來(lái)實(shí)現(xiàn)。使用COM對(duì)象的瀏覽器,無(wú)需關(guān)心對(duì)象是用什么語(yǔ)言寫的,也無(wú)須關(guān)心它是以DLL還是以另外的過(guò)程來(lái)執(zhí)行的。從瀏覽器端看,無(wú)任何區(qū)別。這樣一個(gè)通用的處理技巧非常有用。例如,由用戶協(xié)調(diào)運(yùn)行的兩個(gè)應(yīng)用,可以將它們的共同作業(yè)部分作為COM對(duì)象間的交互來(lái)實(shí)現(xiàn)(當(dāng)然,OLE復(fù)合文檔也能做到)。為在瀏覽器中執(zhí)行從Web服務(wù)器下載的代碼,瀏覽器可把它看作是COM對(duì)象,也就是說(shuō),COM技術(shù)也是一種打包可下載代碼的標(biāo)準(zhǔn)方法(ActiveX控件就是執(zhí)行這種功能的)。甚至連應(yīng)用與本機(jī)OS進(jìn)行交互的方法也可以用COM來(lái)指定,例如在Windows和Windows NT中用的是新API,多數(shù)是作為COM對(duì)象來(lái)定義的。

組件對(duì)象模型雖然起源于復(fù)合文檔,但卻可有效地適用于許多軟件問(wèn)題,它畢竟是處在底層的基礎(chǔ)技術(shù)。用一句話來(lái)說(shuō),COM是獨(dú)立于語(yǔ)言的組件體系結(jié)構(gòu),可以讓組件間相互通信。隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,COM進(jìn)一步發(fā)展為分布式組件對(duì)象模型,這就是DCOM,它類似于CORBA的ORB,本文對(duì)此將不再做進(jìn)一步的闡述。通過(guò)上面的講述相信大家一定對(duì)ActiveX、OLE和COM/DCOM的關(guān)系有了一個(gè)清楚的了解。

規(guī)避風(fēng)險(xiǎn)

ActiveX控件有較強(qiáng)的功能,但也存在被人利用的隱患,網(wǎng)頁(yè)中的惡意代碼往往就是利用這些控件編寫的小程序,只要打開(kāi)網(wǎng)頁(yè)就會(huì)被運(yùn)行。所以要避免惡意網(wǎng)頁(yè)的攻擊只有禁止這些惡意代碼的運(yùn)行。

IE對(duì)此提供了多種選擇,具體設(shè)置步驟是:“工具”→“Internet選項(xiàng)”→“安全”→“自定義級(jí)別”,建議您將ActiveX控件與相關(guān)選項(xiàng)禁用,謹(jǐn)慎些總沒(méi)有錯(cuò)!

另外,在IE的安全性設(shè)定中我們只能設(shè)定Internet、本地Intranet、受信任的站點(diǎn)、受限制的站點(diǎn)。不過(guò),微軟在這里隱藏了“我的電腦”的安全性設(shè)定,通過(guò)修改注冊(cè)表把該選項(xiàng)打開(kāi),可以使我們?cè)趯?duì)待ActiveX控件時(shí)有更多的選擇,并對(duì)本地電腦安全產(chǎn)生更大的影響。

下面是具體的方法:打開(kāi)“開(kāi)始”菜單中的“運(yùn)行”,在彈出的“運(yùn)行”對(duì)話框中輸入Regedit.exe,打開(kāi)注冊(cè)表編輯器,點(diǎn)擊前面的“”號(hào)順次展開(kāi)到:HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0,在右邊窗口中找到DWORD值“Flags”,默認(rèn)鍵值為十六進(jìn)制的21(十進(jìn)制33),雙擊“Flags”,在彈出的對(duì)話框中將它的鍵值改為“1”即可,關(guān)閉注冊(cè)表編輯器。無(wú)需重新啟動(dòng)電腦,重新打開(kāi)IE,再次點(diǎn)擊“工具→Internet選項(xiàng)→安全”標(biāo)簽,你就會(huì)看到多了一個(gè)“我的電腦”圖標(biāo),在這里你可以設(shè)定它的安全等級(jí)。將它的安全等級(jí)設(shè)定高些,這樣的防范更嚴(yán)密。

備注

在編輯過(guò)程中,采用了部分機(jī)器翻譯的內(nèi)容。

廣泛應(yīng)用

ActiveX 控件是一種可重用的軟件組件,通過(guò)使用 ActiveX控件,可以很快地在網(wǎng)址、臺(tái)式應(yīng)用程序、以及開(kāi)發(fā)工具中加入特殊的功能。如,StockTicker控件可以用來(lái)在網(wǎng)頁(yè)上即時(shí)地加入活動(dòng)信息,動(dòng)畫(huà)控件可用來(lái)向網(wǎng)頁(yè)中加入動(dòng)畫(huà)特性。如今,已有1000多個(gè)商用的ActiveX控件,開(kāi)發(fā)控件可以使用各種編程語(yǔ)言,如C,C++,下一代的微軟 Visual Basic®,以及微軟公司的 Visual Java開(kāi)發(fā)環(huán)境Microsoft Visual J++?。 主要的編輯語(yǔ)言是:主要的是C++,VB,VC,C#,Java,delphi,powerbuilderVBScript。ActiveX控件一旦被開(kāi)發(fā)出來(lái),設(shè)計(jì) 和開(kāi)發(fā)人員就可以把它當(dāng)作預(yù)裝配組件,用于開(kāi)發(fā)客戶程序。以此種方式使用 ActiveX控件,使用者無(wú)需知道這些組件是如何開(kāi)發(fā)的,在很多情況下,甚至不需要自己編程,就可以完成網(wǎng)頁(yè)或應(yīng)用程序的設(shè)計(jì)。

ActiveX控件可以在Windows窗體和Web程序上使用,所以不管是什么語(yǔ)言開(kāi)發(fā)的應(yīng)用程序只要在windows窗體和HTML頁(yè)面中使用,同時(shí)也可以在麥金塔和JAVA平臺(tái)使用,大部分均采用ActiveX控件,這就是我們平時(shí)看到的各種網(wǎng)上銀行的安全控件等應(yīng)用。

參考資料 >

ActiveX.知網(wǎng)[.2021-12-05

生活家百科家居網(wǎng)