国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ActiveX技術(shù)綜述(二) 

2019-11-17 05:50:08
字體:
供稿:網(wǎng)友
6.VisualC++5.0對ActiveX的支持

  VC++5.0(企業(yè)版)為Internet開發(fā)提供了完整的解決發(fā)案,其內(nèi)容是:

  *使用MFC或者ATL開發(fā)ActiveX控制和ActiveX文檔。

  *使用ISAPI設(shè)計WEB服務(wù)器端的部件。

  *使用WinInet開發(fā)通過Internet存取文件的應(yīng)用程序。

  *使用AsynchronousMonikers生成從Internet下載數(shù)據(jù)的應(yīng)用程序。

  *使用ActiveXSDK開發(fā)其它類型的基于Internet的Win32應(yīng)用程序,包括ActiveXScriptinGhost,MicrosoftWebConferencing等。

6.1.用VC5.0開發(fā)ActiveX控制

  VC++5.0提供兩個途徑開發(fā)ActiveX控制:MFC和ATL(ActiveTemplateLibrary)。使用MFC,可以不必理會控制接口的細(xì)節(jié),把注重力集中在控制本身的功用上,但是生成的控制比較大。而且,客戶端假如要運(yùn)行此ActiveX控制,必須擁有相應(yīng)
  版本的MFC類庫的DLL,否則,必須同時下載這些巨大的類庫;使用ATL,由于不涉及MFC的標(biāo)準(zhǔn)類庫,生成的控制相對較小,但開發(fā)者必須了解COM、OLE技術(shù)的細(xì)節(jié)。大多數(shù)情況下,可以使用MFC開發(fā)ActiveX控制,這樣比較輕易。而且,由于InternetEXPlorer3.0提供了MFC4.1的類庫,而InternetExplorer3.0是Windows95提供的組件,所以,只要ActiveX控制使用的是MFC4.1或者更早的版本,多數(shù)情況下不需要下載MFC的類庫。

  使用MFC開發(fā)ActiveX控制,可以用MFCActiveXControlWizard生成工程框架。VC會自動產(chǎn)生三個類:(假設(shè)MyName是控制的名字。)

  *CMyNameApp:從類COleControlModule派生,而類COleControlModule則派生自CWinApp;

  *CMyNameCtrl:從類COleControl派生,而類COleControl則派生自CWnd;

  *CMyNamePRopPage:從類COlePropertyPage派生,而類COlePropPage則派生自CDialog;

  可以看出,這個框架與一般的MFC應(yīng)用程序有些類似。開發(fā)人員的大部分工作在CMyNameCtrl中,例如用ClassWizard添加屬性、方法和事件,處理顯示等。

  編譯生成OCX文件后,用VC提供的ActiveXTestContainer測試這個控制,也可以用OLE/COMObjectViewer瀏覽此控制的接口信息及類型庫。

6.2.ActiveX控制在WEB上的應(yīng)用

  考慮到WEB的安全性,為了在服務(wù)器與客戶端建立良好的信任關(guān)系,必須為每個在WEB上使用ActiveX控制設(shè)置一個“代碼簽名”(CodeSigning)。VC5.0提供了生成供測試用的“代碼簽名”的工具。假如要正式發(fā)布,則必須向有關(guān)機(jī)構(gòu)申請。
  (參見http://www.microsoft.com/intdev/signcode/)

  在WEB頁面中使用ActiveX控制,還要對之進(jìn)行包裝,將有關(guān)的動態(tài)連接庫及信息文件壓縮到一個擴(kuò)展名為CAB(Cabinet)文件中。可以使用VC5.0提供的工具包裝ActiveX控制。在Html文件中,使用OBJECT標(biāo)簽插入ActiveX控制,并利用VBScript或者JScript訪問該ActiveX控制。客戶端用InternetExplorer瀏覽此頁面時,可以自動解包該文件。出于安全性的考慮,InternetExplorer為ActiveX部件的下載、初始化、是否擁有合法的代碼簽名以及是否答應(yīng)Scripting等設(shè)置了不同的
  安全級別,用戶可根據(jù)需要進(jìn)行設(shè)置。下面這個例子中,使用了ActiveX控制“MSChart.OCX",當(dāng)用鼠標(biāo)單擊此控制時,控制的標(biāo)題將改變。


<OBJECT

CLASSID="clsid:31291E80-728C-11CF-93D5-0020AF99504A"

CODEBASE="MSCHART.CAB#version=1,0,0,0"

ID=chart1

WIDTH=400

HEIGHT=200

ALIGN=center

>

</OBJECT>


<SCRIPTlanguage="VBScript">

Subchart1_Click()

Document.chart1.TitleText="MyTitle"

EndSub


  這里,必須提供該OCX的ClassID和文件路徑或URL。客戶端瀏覽此頁面時,先在本地的注冊表中查找該ClassID,假如存在,則不必下載。否則,必須按照CODEBASE指定的路徑搜索該控制并下載。標(biāo)簽Object中的ID是該OCX的對象的名稱,用來

  訪問和設(shè)置對象屬性,調(diào)用對象方法等。

6.3.用VC5.0開發(fā)ActiveX文檔服務(wù)器

  MFC4.2不支持開發(fā)ActiveX容器,但支持ActiveX服務(wù)器。只要在使用MFCAppWizard時生成應(yīng)用程序框架時,選擇支持ActiveDocument,就可生成標(biāo)準(zhǔn)的ActiveX文檔服務(wù)器。運(yùn)行此應(yīng)用程序時,該文檔對象將自動注冊。要測試這個ActiveX 文檔,可以運(yùn)行任何一個ActiveX文檔容器,如MicrosoftBinder、MicrosoftWord等,再插入此對象。

6.4.VC5.0的ActiveX服務(wù)器框架

  *ISAPI(InternetServerAPI)

  ISAPI提供了擴(kuò)展支持WEB服務(wù)器的簡單而有效的方法。開發(fā)人員可以設(shè)計生成IS API服務(wù)器擴(kuò)展動態(tài)連接庫(ISAPIServerExtensionDLL),它可以被HTTP服務(wù)器調(diào)用。例如,客戶端用戶填寫了一個表單,按下“提交”按鈕后,輸入的數(shù)據(jù)將被傳送至HTTP服務(wù)器,激活相應(yīng)的ISAPI擴(kuò)展應(yīng)用程序,該應(yīng)用程序可以處理用戶的輸入信息,進(jìn)行相應(yīng)的操作。或者,按照用戶的要求訪問數(shù)據(jù)庫,讀取用戶指定的數(shù)據(jù),動態(tài)生成HTML文件,再傳回客戶端。

  *ISAPI過濾器(ISAPIFilters)

  ISAPI過濾器是一種運(yùn)行在支持ISAPI的HTTP服務(wù)器上的動態(tài)連接庫。它的作用是:監(jiān)視服務(wù)器與客戶端的事件,當(dāng)預(yù)先指定的某事件發(fā)生時,過濾器被調(diào)用,對要傳遞的數(shù)據(jù)進(jìn)行加密或壓縮,或者進(jìn)行身份認(rèn)證。換句話說,ISAPI過濾器提供了對服務(wù)器和客戶之間傳遞的數(shù)據(jù)進(jìn)行預(yù)處理的功能。

  *ISAPI和通用網(wǎng)關(guān)接口(CGI)的比較

  ISAPI為WEB服務(wù)器提供了通用網(wǎng)關(guān)接口應(yīng)用程序的替代解決方案。與CGI不同的是,ISAPI擴(kuò)展應(yīng)用程序和HTTP服務(wù)器運(yùn)行在同一個地址空間,不需要創(chuàng)建新的進(jìn)程,因而不需要進(jìn)行那些進(jìn)程之間耗費(fèi)時間的通訊。ISAPI應(yīng)用程序可以從HTTP服務(wù) 器中卸載,為其它進(jìn)程騰出內(nèi)存空間。CGI則必須為每一個任務(wù)建立獨(dú)立的執(zhí)行文件及URL映射,HTTP服務(wù)器收到達(dá)每一個請求都將啟動一個新的進(jìn)程。另外,CGI沒有與ISAPI過濾器相對應(yīng)的功能。

6.5.WinInet(MicrosoftWin32InternetExtensions)

  VC5.0提供了開發(fā)客戶端基于WEB的應(yīng)用程序的API:WinInet,并將其封裝成若干MFC類,如CInternetsession、CHttpConnection等。使用這些類,開發(fā)人員不需了解TCP/IP以及Winsock的細(xì)節(jié),只要針對具體應(yīng)用建立類對象就可以了。

6.6.AsynchronousMonikers

  由于目前網(wǎng)絡(luò)帶寬的限制,用戶通常希望能夠異步下載數(shù)據(jù),例如異步下載網(wǎng)頁的一張圖片,并顯示下載進(jìn)度。MFC提供了類CAsyncMonikerFile來實(shí)現(xiàn)這個功能。

6.7.ActiveXSDK

  VC5.0還提供了專門的WIN32ActiveX開發(fā)工具:ActiveXSoftwareDevelopmentKit(ActiveXSDK)。ActiveXSDK包含一系列接口定義及與Internet有關(guān)的WIN32函數(shù),包括ActiveXScriptingComponent、WebBrowsingObject、WebPost API等,用戶可以利用這些接口和API開發(fā)面向WEB的應(yīng)用程序或ActiveX部件。


6.8.VisualC++6.0

  1998年9月,Microsoft將推出的VisualC++6.0。VC6.0除了保留VC5.0的ActiveX支持外,還將支持DHTML,MFC及ATL的類庫及模板也有擴(kuò)充。用戶可以方便地開發(fā)出類似WEB瀏覽器界面的應(yīng)用程序。

7.VisualBasic5.0對ActiveX的支持

7.1.VisualBasic部件

  VisualBasic5.0(以下簡稱VB)的部件(Component)是由可執(zhí)行代碼構(gòu)成的文件(EXE,DLL,OCX),它可以為其他應(yīng)用程序或者部件使用。以前版本的VB答應(yīng)用戶生成稱為"OLEServer"的部件,VB5.0擴(kuò)展了部件設(shè)計功能,支持引發(fā)事件,異步回調(diào)(Call-backs)等,并增強(qiáng)了創(chuàng)建ActiveX控制和ActiveX文檔的功能


VB5.0的ActiveX部件(Component)包括:

  *ActiveX控制

  ActiveX控制與客戶應(yīng)用程序運(yùn)行在同一個進(jìn)程中。用VB5.0創(chuàng)建可用于VB或者其它開發(fā)工具及WEB瀏覽器的ActiveX控制,與一般的VB應(yīng)用程序設(shè)計大同小異。可以為ActiveX控制加上屬性頁,并實(shí)時調(diào)試。另外,VB5.0提供了一組強(qiáng)大的數(shù)據(jù)庫存取控制,開發(fā)人員只需編寫少量代碼就可以完成一般的數(shù)據(jù)庫操作。


  *ActiveX文檔

  VB5.0的ActiveX文檔提供了內(nèi)置的窗口滾動、超鏈接以及菜單支持,直接嵌入WEB頁中。編制ActiveX文檔與設(shè)計VB表單(FORM)完全相同,用戶可以選擇生成ActiveXDocumentDLL或者ActiveXDocumentEXE。無論哪一種類型,VB都將生成一個類似表單文件的VBD(VisualBasicDocument)文件。可以直接用Internet Explorer來瀏覽這個文件,或者用VBScript或者JScript進(jìn)行訪問。

  *ActiveXDLL

  ActiveXDLL提供的對象與應(yīng)用程序運(yùn)行于同一個進(jìn)程中。應(yīng)用程序可以創(chuàng)建對象,設(shè)置對象屬性,調(diào)用對象的方法。ActiveXDLL一般不需要建立用戶界面。

  *ActiveXEXE

  ActiveXEXE提供的對象與應(yīng)用程序運(yùn)行于在不同的進(jìn)程中。應(yīng)用程序創(chuàng)建對象,調(diào)用對象的方法后,可以繼續(xù)進(jìn)行自己的工作。當(dāng)對象的工作完成后,它會通知應(yīng)用程序。

  ActiveXDLL和ActiveXEXE合稱為VisualBasic代碼部件(CodeComponent)。

7.2.包裝ActiveX部件

  上述ActiveX部件都可以使用VB5.0的SetupWizard進(jìn)行包裝,生成采用Lempel-Ziv壓縮算法的CAB文件,在WEB上發(fā)布。SetupWizard將把相關(guān)的動態(tài)連接庫及信息文件一同包裝。使用VB5.0生成的ActiveX部件,可以包裝成SafeScripting和SafeInitializing。

7.3.ActiveX文檔在WEB上的應(yīng)用

  向WEB頁面中加入ActiveX文檔,首先要將該ActiveX文檔包裝成CAB文件。由于InternetExplorer讀入ActiveX文檔時,該文檔將取代當(dāng)前的WEB頁,因此,一般將ActiveX文檔(即HTML的標(biāo)記OBJECT)放在一個獨(dú)立的HTML文件中。例如,下面這條語句建立了一個超鏈接:


<AhRef="ActiveXDoc.htm">LinktoaActiveXDocument</A>

其中,ActiveXDoc.htm是下載ActiveX文檔的HTML文件:


<OBJECT

classid="clsid:2F390484-1C7D-11D0-8908-00A0C90395F4"

codebase="ActiveXDoc.cab#version=1,0,0,0">

</OBJECT>


這條語句將下載ActiveXDoc.cab,并在Windows注冊表中注冊該ActiveX文檔。

7.4.VisualBasic代碼部件在WEB上的應(yīng)用

  VisualBasic代碼部件包括ActiveXDLL和ActiveXEXE,它們可以在服務(wù)器端運(yùn)行,也可以從客戶端下載再運(yùn)行。

  假如某個ActiveXDLL運(yùn)行在服務(wù)器端,服務(wù)器上運(yùn)行的是InternetInformationServer,則可以使用VB的OLEISAPI2.DLL提供的函數(shù)進(jìn)行訪問,或者基于ActiveServerPages使用VBScript或者JScript。

  假如希望客戶端下載某個代碼部件,則首先要將該部件包裝成CAB文件。例如,用VB5.0企業(yè)版生成了一個ActiveXDLL:MyDLL.DLL,它只有一個類:MyClass,其唯一的方法是顯示LogIn對話框。用SetupWizard包裝這個部件,生成了CAB文件。下面的語句將在客戶端下載MYDLL.CAB:


<OBJECTID=MyClass

CLASSID="CLSID:503B3E09-2191-11D2-8E90-00104B64F7B7"

CODEBASE="mydll.cab">

</OBJECT>


<INPUTTYPE=buttonVALUE="LogInNOW"NAME="BTnLogin">


<!--

Whenthebuttonisclicked,callthe"LogIn"method.

-->

<SCRIPTlanguage="VBScript">

<!--

SubWindow_OnLoad

MyClass.Login

EndSub

SubBtnLogin_OnClick()

MyClass.Login

EndSub

-->

</Script>


  其中,ObjectID是這個ActiveXDLL中某個類的名字。當(dāng)此WEB頁面被下載并顯示時,MyClass類的方法LogIn將被調(diào)用,并在客戶端顯示LogIn對話框。

7.3.VisualBasic6.0

  Microsoft計劃于1998年9月推出VisualBasic6.0。目前Beta版正在測試。VB6.0與VB5.0相比,除繼續(xù)支持InternetExplorerDocumentObjectModel(DOM)開發(fā)之外,將提供兩個令人興奮的新功能:

  *DynamicHTML編輯器

  開發(fā)人員可以象編制普通VB程序一樣,制作DHTML文件或模板。

  *WebClasses;

  開發(fā)人員可以在WEB服務(wù)器端建立與asp文件一一對應(yīng)的WebClass類,每個類都可以訪問ASP對象,在VisualBasicIDE中跟蹤調(diào)試,并生成ISAPI動態(tài)連接庫。



8.小結(jié)

  正如Internet和WEB技術(shù)一樣,ActiveX技術(shù)的發(fā)展日新月異,新的更強(qiáng)大的開發(fā)工具使得服務(wù)器及客戶端的應(yīng)用開發(fā)、網(wǎng)站建設(shè)變得更簡單,并輕易擴(kuò)展和重用。隨著Microsoft的包括WindowsNT、InternetInformationServer、ActiveServerPages以及MicrosoftFrontPage、InternetExplorer等組件在內(nèi)完整的Internet解決方案被廣泛使用,ActiveX技術(shù)將會有更大的發(fā)展。


參考文獻(xiàn):

1.VisualC++技術(shù)內(nèi)幕(第二版),[美]DavidJ.Kruglinski著,王國印譯,
清華大學(xué)出版社。

2.ActiveX開發(fā)人員指南,[美]EricTall,MarkGinsburg著,章巍等譯,機(jī)械
工業(yè)出版社。

3.VisualBasic6.0:YouWon'tBelieveWhatJustHittheWeb,JoshuaT
rupin,MicrosoftInteractiveNetworkDeveloper(MIND),1998年8月。

4.IntrodUCtiontoActiveXControls,MicrosoftCorp.,MSDN,1998年8月。


5.DynamicHTMLandtheBigPicture,JohnSwenson,MSDNOnline,1997年11月。

6.ABriefPreviewoftheVisualBasic5.0DevelopmentEnvironment,MichaelOtey,WindowsNTMagazine,1997年4月。

7.http://www.microsoft.com/,Microsoft公司,包括MSDN、MSJ等技術(shù)資源。


8.http://www.ActiveX.com,第三方開發(fā)的ActiveX控制。

9.http://www.Active-X.com,有關(guān)ActiveX技術(shù)的文檔資料。

10.http://www.WinntMag.com,WindowsNTMagazine雜志。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
四虎在线免费视频| 国产在线超碰| 伊人福利在线| 在线视频福利| 天堂网中文在线| 国产九色视频| 国产二级片在线| 日本免费视频www| 国产免费黄色| 91亚洲天堂| 好男人免费精品视频| 国产乱在线观看视频| 国产私人影院| 日本视频一二三区中文字幕| 国产在线拍揄自揄拍视频| 国产成人精品男人的天堂538| 天天干天天操天天爽| 国产美女免费观看| 国产羞羞视频在线观看| 天天插天天狠天天透| 中文字幕不卡| 激情视频国产| av在线第一页| 7777在线| 国产午夜精品一区理论片| 四虎国产精品永久地址998| 国产亚洲精品一区二区在线观看| 国产变态拳头交视频一区二区| 超碰国产在线观看| 日本在线观看| 在线观看的网站你懂的| 国产区卡一卡二卡三乱码免费| 免费看的av| www.狠狠| 日本国产在线| av在线资源网| www在线播放| 欧美日韩在线视频免费观看| 亚洲精品午夜级久久久久| 在线天堂中文| 在线视频婷婷| 先锋av资源网| 在线观看av中文| 精品日韩av| av在线1区2区| 久色视频在线观看| 国产麻豆精品视频一区二区 | 国产经典av| 国产一级片在线播放| 五月亚洲综合| 国产精品777一区二区| 国产黄在线观看| av小说在线| 超碰在线人人| 午夜视频在线免费| 国产色a在线观看| 精品福利视频导航大全| 亚洲精品一线| 国产麻豆麻豆| 尤物在线视频观看| 欧美黑人乱大交| 国产区视频在线| 亚洲v片在线观看| 天天操天天射天天插| 国产成人夜间影院在线观看| 小说区乱图片区| 国产亚洲精品午夜高清影院 | 国产视频三级在线观看播放| 97操碰视频| 免费精品国产自产拍观看| 国产一级黄色| 青青国产在线| 伊人网在线视频| 国产青草视频在线观看视频| gogo在线观看| 国产精品9区| 国产乱精品一区二区三区| 精品国产一区二区三区四区阿崩 | 午夜羞羞小视频在线观看| 国产在线高清理伦片a| 精品视频vs精品视频| 国产尤物一区二区三区| 亚洲一道本在线| 国产精品久久久高清免费 | 免费高清av| 亚洲男人网站| 精品欧美日韩一区二区| 资源视频在线播放免费| 欧美日韩亚洲国内综合网 | 天堂在线国产| 国产丝袜自拍| 国产在线观看18| 黄色av网址在线免费观看| 青青草在线免费观看| av免费在线一区二区三区| 18av在线视频| av大片在线播放| 国产精品ⅴa有声小说| 高清欧美精品xxxxx在线看| 亚洲欧美日韩综合精品网| 中文在线视频| 亚洲成人在线播放| 日本三级在线视频| www.三区| 国产在线资源| 国产精品一二三区视频| 国产麻豆麻豆| 最新亚洲精品国自产在线观看| 狠狠干五月天| 国产三级在线观看| 91福利在线视频| 日本视频三区| 福利视频在线看| 国产精品视频流白浆免费视频| 午夜视频99| 国产黄色片在线观看| 99热免费在线| 青青青手机在线视频观看| 美女永久在线网站| 中文字幕毛片| 国产www网站| 欧美亚洲天堂| 国产无套粉嫩白浆在线2022年| 国产视频一二区| 爱福利在线视频| 国产精品久久久久久精| av在线网页| 国产色视频网站| 超碰97国产精品人人cao| 黄色av免费在线| 国产精美视频| 九九在线免费视频| 精品久久亚洲一级α| 成在在线免费视频| 亚洲综合在线不卡| 中文字幕亚洲精品视频| 亚洲www色| 国产成人亚洲精品播放器下载| 男人天堂网在线观看| 国产变态拳头交视频一区二区 | 久热久精久品这里在线观看| 国产传媒在线播放| 高清在线观看av| 日韩不卡高清| 在线天堂av| 精品三级久久久久久久电影聊斋| 国产农村av| 超碰在线中文| 欧美日韩不卡中文字幕在线| 国产一区二区在线|播放| 九九热视频精品在线观看| 亚洲网站一区| 亚色视频在线观看| 伊人久久青青草| 在线影视一区| 伊人资源视频在线| 国产福利在线看| 国产国产国产国产国产国产| 国产美女在线免费观看| 蜜桃视频网站在线| 久久久久久国产视频| 狠狠干天天干| 国产精品一区二区三区四区色| 国产69久久| 中文字幕中文字幕在线中高清免费版 | 国产亚洲精品自在线观看| 黄色毛片在线| 国产另类图片| 国产极品视频| 伊人影院在线播放| 免费av不卡在线观看| 黄色av电影在线播放| 懂色一区二区三区| 国产精品99999| 亚洲视频手机在线观看| www久久日com| 国产天堂在线播放视频| 国产一区二区三区不卡在线| 国产三级在线| 天天艹天天操| 国产乱子视频| 在线免费观看高清视频色| 人日人天天爽| 国产视频xxx| 四虎在线免费视频| 最近中文字幕mv2018在线高清| 国产黄色免费| 欧美日韩**字幕一区| 国产人成在线观看| 免费不卡中文字幕视频| 国产福利在线播放麻豆| 免费a在线看| 国产羞羞视频在线观看| 亚洲精品aaaa| 国产国产人免费人成免费视频| 麻豆精品传媒视频观看| 精品极品三级久久久久| 尤物视频在线免费观看| 久久精品视频观看| eeuss影院在线|