當前位置:首頁 » 編程軟體 » activex腳本

activex腳本

發布時間: 2022-07-27 12:22:21

A. activeX控制項和腳本文件是什麼呀

ActiveX是使軟體組件能夠在網路環境中交互作用而與創建組件的語言無關的一套封裝技術。實現ActiveX 的基礎是「組件對象模型」(Component Object Model ,縮寫為COM)。它也是提供封裝 COM組件並將其置入應用程序(如(但不限於)Web 瀏覽器)的一種方法。
給ActiveX組件(ActiveX component)一個定義,就是:一個應用程序或開發工具,可以使用另一個應用程序支持的對象,或者提供自己的對象供另一個應用程序使用。以前這些程序和對象稱為「OLE 自動服務程序」和「OLE 自動伺服器」。
至於ActiveX控制項,則只是ActiveX組件的一個分類,是一個標準的用戶介面元素,是具有 .OCX 文件擴展名或者可插入對象的文件,能夠快速地把窗體和對話框組裝起來;當使用自定義控制項對話框將其增加到工程中去時,工具箱將被擴展。在以前ActiveX控制項被稱作 OLE 控制項

腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。
腳本程序相對一般程序開發來說比較接近自然語言,可以不經編譯而是解釋執行,利於快速開發或一些輕量的控制。
現在的腳本語言是比較多的,一般的腳本語言的執行只同具體的解釋執行器有關,所以只要系統上有相應語言的解釋程序就可以做到跨平台。
腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。

腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec(腳本文件名).cfg即可。比如將一個腳本存為buys.cfg文件,則在控制台中輸入:execbuys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。

B. ActiveX腳本編程的實現方式

應用系統也需要實現一些介面,分別為:IActiveScriptSite和IActiveScriptSiteWindow(可選)。介面IActiveScriptSite是每一個支持腳本語言的應用系統所必須實現的介面,腳本引擎通過它來獲取其宿主程序的信息,特別是在解釋腳本語言中一些名字時更需要用到這些信息,IActiveScriptSite的介面定義如下:
class IActiveScriptSite : public IUnknown
{
public :
virtual HRESULT GetLCID( LCID *plcid) = 0;
virtual HRESULT GetItemInfo( LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown *ppiunkItem, ITypeInfo *ppti) = 0;
virtual HRESULT GetDocVersionString(BSTR *pbstrVersion) = 0;
virtual HRESULT OnScriptTerminate(const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo) = 0;
virtual HRESULT OnStateChange( SCRIPTSTATE ssScriptState) = 0;
virtual HRESULT OnScriptError( IActiveScriptError *pscripterror) = 0;
virtual HRESULT OnEnterScript( void) = 0;
virtual HRESULT OnLeaveScript( void) = 0;
};
在這些成員函數中,GetItemInfo是關鍵函數,因為腳本引擎管理了一個名字空間,腳本引擎在解釋執行過程中,如果需要某個名字的信息,則通過宿主程序的IActiveScriptSite::GetItemInfo函數獲取。所以,應用系統通過GetItemInfo成員函數把自己的一些對象暴露給腳本引擎,以便在腳本文件中引用。
IActiveScriptSiteWindow介面是一個可選的介面,如果在腳本文件中要用到用戶介面UI特性,則應用系統應該實現IActiveScriptSiteWindow介面,其定義很簡單,如下:
class IActiveScriptSiteWindow : public IUnknown
{
public :
virtual HRESULT GetWindow( HWND *phwnd ) = 0;
virtual HRESULT EnableModeless( BOOL fEnable ) = 0;
};
腳本引擎通過GetWindow成員函數獲取宿主窗口句柄,作為腳本中彈出窗口的父窗口。
除了應用系統需要實現上面兩個介面用作它與腳本引擎之間的通訊之外,腳本引擎也實現了一組介面用作兩者之間的通訊,這組介麵包括:IActiveScript、IActiveScriptParse和其它一些用於調試、狀態管理或者錯誤處理的介面,IActiveScript和IActiveScriptParse是必須實現的介面,以下是它們的定義:
class IActiveScript : public IUnknown
{
public:
virtual HRESULT SetScriptSite( IActiveScriptSite *pass) = 0;
virtual HRESULT GetScriptSite( REFIID riid, void **ppvObject) = 0;
virtual HRESULT SetScriptState( SCRIPTSTATE ss) = 0;
virtual HRESULT GetScriptState( SCRIPTSTATE *pssState) = 0;
virtual HRESULT Close( void) = 0;
virtual HRESULT AddNamedItem( LPCOLESTR pstrName, DWORD dwFlags) = 0;
virtual HRESULT AddTypeLib( REFGUID rguidTypeLib, DWORD dwMajor, DWORD dwMinor, DWORD dwFlags) = 0;
virtual HRESULT GetScriptDispatch( LPCOLESTR pstrItemName, IDispatch **ppdisp) = 0;
virtual HRESULT GetCurrentScriptThreadID( SCRIPTTHREADID *pstidThread) = 0;
virtual HRESULT GetScriptThreadID( DWORD dwWin32ThreadId,SCRIPTTHREADID *pstidThread) = 0;
virtual HRESULT GetScriptThreadState( SCRIPTTHREADID stidThread, SCRIPTTHREADSTATE *pstsState) = 0;
virtual HRESULT InterruptScriptThread( SCRIPTTHREADID stidThread,const EXCEPINFO *pexcepinfo, DWORD dwFlags) = 0;
virtual HRESULT Clone( IActiveScript **ppscript) = 0;
};
class IActiveScriptParse : public IUnknown
{
public:
virtual HRESULT InitNew( void) = 0;
virtual HRESULT AddScriptlet( LPCOLESTR pstrDefaultName,LPCOLESTR pstrCode, LPCOLESTR pstrItemName, LPCOLESTR pstrSubItemName, LPCOLESTR pstrEventName, LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, BSTR *pbstrName, EXCEPINFO *pexcepinfo) = 0;
virtual HRESULT ParseScriptText( LPCOLESTR pstrCode, LPCOLESTR pstrItemName,IUnknown *punkContext, LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie, ULONG ulStartingLineNumber,DWORD dwFlags, VARIANT *pvarResult,EXCEPINFO *pexcepinfo) = 0;
};
應用系統通過IActiveScript介面控制腳本引擎的各種行為,也可以獲取引擎的各種狀態。通常,應用系統首先調用IActiveScript::SetScriptSite成員函數把自身實現的IActiveScriptSite介面傳遞給引擎,以後引擎就通過該介面與應用系統通訊。而應用系統也可以通過IActiveScript的其它成員函數獲取或者設置引擎的運行狀態。介面IActiveScriptParse用於對腳本代碼的操作,應用系統利用IActiveScriptParse介面裝入腳本代碼。
在介紹了應用系統和腳本引擎所實現的一些關鍵介面之後,我們再進一步看看應用系統和腳本引擎的協作過程:
(1)創建必要的受控對象,這些受控對象是指將要在腳本文件中引用到的Automation對象,通常是應用系統的文檔對象,也可以是某些ActiveX控制;
(2)創建引擎對象,不同的腳本語言使用不同的引擎對象,通常我們使用VBScript引擎或者JavaScript引擎,創建得到的介面指針是應用系統控制引擎的惟一途徑;
(3)裝入腳本文件,調用引擎的IActiveScriptParse介面的ParseScriptText成員函數把腳本代碼裝入到引擎中,注意ParseScriptText成員函數只接收UNICODE字元串,如果程序中用到了ANSI字元串,則需要進行轉換才能裝入到引擎中;
(4)加入名字項,凡是應用系統中要暴露給腳本文件的所有對象都需要加入到引擎的名字空間中,可以通過調用IActiveScript介面的AddNamedItem成員函數來完成;
(5)啟動引擎,以便運行腳本,直接調用IActiveScript::SetScriptState成員函數使其進入連接狀態(運行狀態)即可;
(6)引擎在執行腳本時,首先處理其名字空間中的名字項,調用應用系統IActiveScriptSite介面的GetItemInfo成員函數獲取每一個名字所對應的受控對象的信息,主要是COM介面;如果在腳本中有事件控制函數的話,則還要獲取受控對象的類型信息;
(7)在腳本執行過程中,當特定的事件發生時,引擎中的事件控制函數就要被調用;
(8)在腳本執行過程中,有可能會調用到受控對象的屬性和方法,則引擎會通過它所獲取的對象介面調用IDispatch::Invoke成員函數;
如果應用系統希望終止引擎的執行過程,可以調用IActiveScript::SetScriptState成員函數使其進入非運行狀態即可。
以上的步驟基本上反映了應用系統和引擎之間的協作過程。在實際使用過程中,可以根據情況的不同靈活應用。

C. 請啟動「對未標記為可安全執行腳本的ActiveX控制項初始化並執行腳本」安全設置,怎麼弄急!

請啟動「對未標記為可安全執行腳本的ActiveX控制項初始化並執行腳本」安全設置是設置錯誤造成的,解決方法為:

1、打開本地組策略編輯器程序窗口。

D. ActiveX腳本是什麼意思啊

ActiveX是Microsoft提出的一組使用COM(Component Object Model,部件對 象模型)使得軟體部件在網路環境中進行交互的技術。 它與具體的編程語言無關。作為針對Internet應用開發的技術 ,ActiveX被廣 泛應用於WEB伺服器以及客戶端的各個方面。
一般都有現成的ActiveX組件可用,用於嵌入到網頁中,達到一定的特效,如滾動的廣告欄,同時VBScirpt和JavaScript也可以用於編寫動態網頁。

E. 如何取消IE已限制此網頁運行腳本或ActiveX控制項

Internet Explorer已限制此網頁運行腳本或ActiveX控制項是控制項安裝錯誤造成的,解決方法為:

1、先關閉 Internet Explorer 瀏覽器,然後從開始菜單中找到 Internet Explorer,右擊,選擇「以管理員身份運行」。重新打開網站安裝 ActiveX。


(5)activex腳本擴展閱讀:

編寫好的shell腳本(如:test),可以採取兩種方式進行運行:

一、 $ sh test

一般不採用這種調用方式,尤其不採用「sh<test」的調用方式,因為這種方式將禁止shell讀取標准輸入。

也可以採用 $ ksh test

這種方式要求shell具有「可讀」的訪問許可權。

二、直接運行可執行的shell腳本之前,首先應使用下列chmod命令,把shell腳本文件設置為可執行的文件。

chmod 755 test(除文件屬主可寫之外,每個用戶均具有讀和可執行的訪問許可權)

chmod +rx test(同上)

chmod u+rx test(只有文件屬主具有讀和執行的訪問許可權)

按照上述要求設置shell腳本文件的訪問許可權後,可採用下列方式,直接運行shell腳本了。

1、test(如果命令檢索路徑包含當前目錄)

2、./test(如果命令減縮路徑不包含當前目錄)

*說明: sh test 方式調用一個shell叫蹦可能會禁止某些shell特定的擴展功能,因而可能引起腳本無法正確執行。



F. ActiveX是什麼~~~有什麼功能呢

ActiveX 是一個打開集成平台提供開發、 用戶和 Web 發生器快速簡便快捷地為 Internet 和 Intranet 創建程序集成和內容。 使用 ActiveX, 可輕松插入到 Web頁, 多媒體效果、 互動式對象, 以及復雜程序創建用戶體驗相當的高質量多媒體 CD-ROM 。

根據微軟權威的軟體開發指南MSDN(Microsoft Developer Network)的定義,ActiveX插件以前也叫做OLE控制項或OCX控制項,它是一些軟體組件或對象,可以將其插入到WEB網頁或其它應用程序中。

ActiveX的內容
[編輯本段]
ActiveX 控制項
以前稱為 OLE 控制項或 OCX 控制項, ActiveX, 是組件 (或對象) 打包, 別人編程功能, 以便您可以重用 Web頁或其他程序中插入。 例如, 隨 InternetExplorer 一起提供 ActiveX 控制項可用於增強 Web頁具有復雜格式功能和動畫。
ActiveX 控制項通過 Java 程序和 Netscape 插件關鍵優點是, 還可以用許多編程語言, 包括所有 Microsoft 編程和資料庫語言編寫程序中使用 ActiveX 控制項。

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

ActiveX 腳本
ActiveX 腳本支持最常用腳本語言, 包括 Microsoft VisualBasic 腳本和 JavaScript。 ActiveX 腳本可用於集成行為若干 ActiveX 控制項或 Java 程序從 Web 瀏覽器或伺服器, 擴展其功能。

ActiveX的特點
[編輯本段]

在網際網路上,ActiveX插件軟體的特點是:一般軟體需要用戶單獨下載然後執行安裝,而ActiveX插件是當用戶瀏覽到特定的網頁時,IE瀏覽器即可自動下載並提示用戶安裝。 ActiveX插件安裝的一個前提是必須經過用戶的同意及確認。

ActiveX插件技術是國際上通用的基於Windows平台的軟體技術,除了網路實名插件之外,許多軟體均採用此種方式開發,例如Flash動畫播放插件、Microsoft MediaPlayer插件、CNNIC通用網址插件等。

相關內容
[編輯本段]

1.瀏覽器如何保證ActiveX插件的安全性?
當通過Internet發行軟體時,軟體的安全性是一個非常引人注意的問題,IE瀏覽器通過以下的方式來保證ActiveX插件的安全:
ActiveX使用了兩個補充性的策略:安全級別和證明,來追求進一步的軟體安全性;
Microsoft提供了一套工具,可以用它來增加ActiveX對象的安全性;
通過Microsoft的驗證代碼工具,可以對ActiveX控制項進行簽名,這告訴用戶你的確是控制項的作者而且沒有他人篡改過這個控制項;
為了使用驗證代碼工具對組件進行簽名,必須從證書授權機構獲得一個數字證書;證書包含表明特定軟體程序是正版的信息,這確保了其他程序不能再使用原程序的標識。證書還記錄了頒發日期。當您試圖下載軟體時,Internet Explorer 會驗證證書中的信息,以及當前日期是否在證書的截止日期之前。如果在下載時該信息不是最新的和有效的,Internet Explorer 將顯示一個警告;
在IE默認的安全級別中,ActiveX控制項安裝之前,用戶可以根據自己對軟體發行商和軟體本身的信任程度,選擇決定是否繼續安裝和運行此軟體。
在最新的IE 7中,安全性有進一步的提高。
2.關於三個概念:ActiveX、OLE和COM
熟悉面向對象編程和網路編程的人一定對ActiveX、OLE和COM/DCOM這些概念不會陌生,但是它們之間究竟是什麼樣的關系,對許多們還是比較模糊的。在具體介紹它們的關系之間,我們還是先明確組件(Component)和對象(Object)之間的區別。組件是一個可重用的模塊,它是由一組處理過程、數據封裝和用戶介面組成的業務對象(Rules Object)。組件看起來像對象,但不符合對象的學術定義。它們的主要區別是:1)組件可以在另一個稱為容器(有時也稱為承載者或宿主)的應用程序中使用,也可以作為獨立過程使用;2)組件可以由一個類構成,也可以由多個類組成,或者是一個完整的應用程序;3)組件為模塊重用,而對象為代碼重用。現在,比較流行的組件模型有COM(Component Objiect Mole,對象組件模型)/DCOM(Distributed COM,分布式對象組件模型)和CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結構)。到這里,已經出現了與本文相關的主題COM,而CORBA與本文無關,就不作介紹。之所以從組件與對象的區別說起,是想讓大家明確COM和CORBA是處在整個體系結構的最底層,如果暫時對此還不能理解,不妨繼續往下看,最後在回過頭看一看就自然明白了。現在開始闡述ActiveX、OLE和COM的關系。首先,讓大家有一個總體的概念,從時間的角度講,OLE是最早出現的,然後是COM和ActiveX;從體系結構角度講,OLE和ActiveX是建立在COM之上的,所以COM是基礎;單從名稱角度講,OLE、ActiveX是兩個商標名稱,而COM則是一個純技術名詞,這也是大家更多的聽說ActiveX和OLE的原因。既然OLE是最早出現的,那麼就從OLE說起,自從Windows操作系統流行以來,「剪貼板」(Clipboard)首先解決了不同程序間的通信問題(由剪貼板作為數據交換中心,進行復制、粘貼的操作),但是剪貼板傳遞的都是「死」數據,應用程序開發者得自行編寫、解析數據格式的代碼,於是動態數據交換(Dynamic Data Exchange,DDE)的通信協定應運而生,它可以讓應用程序之間自動獲取彼此的最新數據,但是,解決彼此之間的「數據格式」轉換仍然是程序員沉重的負擔。對象的鏈接與嵌入(Object Linking and Embedded,OLE)的誕生把原來應用程序的數據交換提高到「對象交換」,這樣程序間不但獲得數據也同樣獲得彼此的應用程序對象,並且可以直接使用彼此的數據內容,其實OLE是Microsoft的復合文檔技術,它的最初版本只是瞄準復合文檔,但在後續版本OLE2中,導入了COM。由此可見,COM是應OLE的需求而誕生的,所以雖然COM是OLE的基礎,但OLE的產生卻在COM之前。COM的基本出發點是,讓某個軟體通過一個通用的機構為另一個軟體提供服務。COM是應OLE的需求而誕生,但它的第一個使用者卻是OLE2,所以COM與復合文檔間並沒有多大的關系,實際上,後來COM就作為與復合文檔完全無關的技術,開始被廣泛應用。這樣一來,Microsoft就開始「染指」通用平台技術。但是COM並不是產品,它需要一個商標名稱。而那時Microsoft的市場專家們已經選用了OLE作為商標名稱,所以使用COM技術的都開始貼上了OLE的標簽。雖然這些技術中的絕大多數與復合文檔沒有關系。Microsoft的這一做法讓人產生這樣一個誤解OLE是僅指復合文檔呢?還是不單單指復合文檔?其實OLE是COM的商標名稱,自然不僅僅指復合文檔。但Microsoft自己恐怕無法解釋清楚,這要花費相當的精力和時間。於是,隨著Internet的發展,在1996年春,Microsoft改變了主意,選擇ActiveX作為新的商標名稱。ActiveX是指寬松定義的、基於COM的技術集合,而OLE仍然僅指復合文檔。當然,ActiveX最核心的技術還是COM。ActiveX和OLE的最大不同在於,OLE針對的是桌面上應用軟體和文件之間的集成,而ActiveX則以提供進一步的網路應用與用戶交互為主。到這里,大家應該對ActiveX、OLE和COM三者的關系有了一個比較明確的認識,COM才是最根本的核心技術,所以下面的重點COM。讓對象模型完全獨立於編程語言,這是一個非常新奇的思想。這一點從C++和Java的對象概念上,我們就能有所了解。但所謂COM對象究竟是什麼呢?為了便於理解,可以把COM看作是某種(軟體)打包技術,即把它看作是軟體的不同部分,按照一定的面向對象的形式,組合成可以交互的過程和以組支持庫。COM對象可以用C++、Java和VB等任意一種語言編寫,並可以用DLL或作為不同過程工作的執行文件的形式來實現。使用COM對象的瀏覽器,無需關心對象是用什麼語言寫的,也無須關心它是以DLL還是以另外的過程來執行的。從瀏覽器端看,無任何區別。這樣一個通用的處理技巧非常有用。例如,由用戶協調運行的兩個應用,可以將它們的共同作業部分作為COM對象間的交互來實現(當然,現在的OLE復合文檔也能做到)。為在瀏覽器中執行從Web伺服器下載的代碼,瀏覽器可把它看作是COM對象,也就是說,COM技術也是一種打包可下載代碼的標准方法(ActiveX控制項就是執行這種功能的)。甚至連應用與本機OS進行交互的方法也可以用COM來指定,例如在Windows和Windows
NT中用的是新API,多數是作為COM對象來定義的。可見,COM雖然起源於復合文檔,但卻可有效地適用於許多軟體問題,它畢竟是處在底層的基礎技術。用一句話來說,COM是獨立於語言的組件體系結構,可以讓組件間相互通信。隨著計算機網路的發展,COM進一步發展為分布式組件對象模型,這就是DCOM,它類似於CORBA的ORB,本文對此將不再做進一步的闡述。通過上面的講述相信大家一定對ActiveX、OLE和COM/DCOM的關系有了一個清楚的了解。

備注
[編輯本段]

在編輯過程中,採用了部分機器翻譯的內容。

特注
[編輯本段]

2008年中 ActiveX為微軟十大垃圾軟體榜首..

G. ActiveX腳本編程的介紹

ActiveX Scripting 技術是Microsoft ActiveX 技術的一個組成部分,它的主要目的是使應用程序在不被修改的情況下,可被各種腳本語言所控制。比如大家比較熟悉的Microsoft Office中的Word字處理軟體,它提供了方便的BASIC語言的可編程特性,用戶可以通過編寫BASIC語言實現較為復雜的功能擴充。

H. ActiveX腳本編程的術語簡介

ActiveX scripting(ActiveX腳本編程)
一種使用腳本語言來驅動ActiveX組件的行為。

熱點內容
mp4反編譯軟體 發布:2024-10-25 16:47:33 瀏覽:998
哪個是提升電腦幀數的配置 發布:2024-10-25 16:43:45 瀏覽:95
以一種訪問許可權不允許的方式 發布:2024-10-25 16:38:32 瀏覽:404
嵌入式linux開發環境搭建 發布:2024-10-25 16:26:51 瀏覽:325
奧迪a4l乞丐版什麼配置 發布:2024-10-25 16:20:33 瀏覽:411
python讀取txt文件數據 發布:2024-10-25 16:07:36 瀏覽:23
獲取區域網伺服器的真實ip 發布:2024-10-25 16:01:36 瀏覽:28
多線程程序java 發布:2024-10-25 15:58:32 瀏覽:228
安卓最大的圖片是哪個 發布:2024-10-25 15:55:06 瀏覽:467
雲伺服器登錄小號 發布:2024-10-25 15:41:34 瀏覽:402