從ocx控件編寫到發(fā)布到網(wǎng)上全過程_第1頁
從ocx控件編寫到發(fā)布到網(wǎng)上全過程_第2頁
從ocx控件編寫到發(fā)布到網(wǎng)上全過程_第3頁
從ocx控件編寫到發(fā)布到網(wǎng)上全過程_第4頁
從ocx控件編寫到發(fā)布到網(wǎng)上全過程_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、VC6.0從開發(fā)activexocX第件到發(fā)布到網(wǎng)上全過程(sunxiaopengActiveX 控件用于 Web 的過程是將控件嵌入主頁中,用戶通過瀏覽器訪問該主頁時,將主頁中的控件下載,并在用戶機器上注冊,以后就可在用戶的瀏覽器上運行??丶螺d一次后就駐留在用戶本地機器上,下次再訪問相同的主頁時,可不再下載該控件,而是直接運行用戶本地的控件。:vc倉1建activex控件創(chuàng)建一個activex控件,名稱為:test.ocx創(chuàng)建步驟略。顯示結(jié)果如下:,i無標思-ActxveXControlTestContainerFileEditContainerControlViewOptionsTool

2、sHelpH區(qū)電旬囪為該控件增加一個方法 voidGetStr(LPCTSTRstr),該方法內(nèi)部代碼如下:voidCAaaaCtrl:GetStr(LPCTSTRstr)這樣,GetStr方法就被加入了。onDraw函數(shù)下代碼如下UU1ULHdddLm:CDC*pdctconstCRect&rcBounds,constCRect&rclnualid)FillRect(rcBounds,CBrush:FrQnHandle(HBRUSH)GetStockObject(MHITE_BRUSH);pdc-Ellipse(rcBounds);pdc-TextDut(flF0,m_str

3、);|卜面,測試該方法,鼠標右鍵控件,選?InvokeMethods5 單出如下對話框:在parameter中輸入hello,單擊Invoke按鈕,顯示如下:InvokelethodsInvokelethods那么如何在網(wǎng)頁中將參數(shù)傳遞給控件,讓其在網(wǎng)頁中顯示出來呢?稍后介紹把test.ocx控件放入c:ceshi目錄下,到網(wǎng)上下載Makecert.exe,Cert2Spc.exeSigncode.exe,并一同放入c:ceshi目錄下二:ActiveX打包與發(fā)布1)用到的工具如下所示:1 .Makecert.exe-證書創(chuàng)建工具2 .Cert2Spc.exe-發(fā)行者證書測試工具3 .Sign

4、code.exe-文件簽名工具2)ActiveX發(fā)布步驟打包activeX需要制作證書,具體用到makecert、cert2spc、signtool這三個工具,現(xiàn)在我們將以上工具和.ocx控件放到同一個目錄c:test下.(1)單擊開始-運行(R)-輸入cmd-回車-進入到操作的控件所在的目錄(需要將上面所說的工具,和ocx控件放到一個文件夾下);(2)創(chuàng)建inf文件,代碼如下versionsignature=$CHICAGO$”AdvancedINF=2.0Add.Codetest.ocx=test.ocxtest.ocxfile-win32-x86=thiscabRegisterServe

5、r=yesclsid=B649E664-D7CF-4481-A58E-AC8B4440794ADestDir=11FileVersion=1,0,0,1上述代碼解釋如下:file-win32-x86=thiscab告訴ie到哪里去得到這個dll,file一共包括三個部分,第一部分是file,這個永遠都是這樣的(至少目前來說);第二部分告訴聲明支持的OS,Win32表示windows,mac就是蘋果MACOX了;第三部分是CPU類型,比如說x86、ppc(PowerPC)、mips或者alpha了。其中“thiscab是一個關鍵字,表示CAB包含此DLL,也可通過指定一條絕對或相對路徑,從一個H

6、TTP位置下載所需的DLL,例如:file-win32-x86=http:/ C:ceces siicn.cabtest.infiicn.cabtest.inftesttest.ocx.ocxMicrosoftMicrosoftR)CabinetToo1-Uersion1.00.0&31R)CabinetToo1-Uersion1.00.0&31團3/18/97)3/18/97)CopypightMicrosoftCorp1996-1997.ft11rightspeserueCopypightMicrosoftCorp1996-1997.ft11rightspeserueCie

7、atin9neucabinetCieatin9neucabinetJ Jtest.cabtest.cabJ Jwithcompressionwithcompression1 1MSZIPMSZIPf f:addtest_InFaddtest_InF- -addingtest-ocxaddingtest-ocxCompletedsuccessfullyCompletedsuccessfully(4)生成cert證書為得到簽名用的spc格式makecert/svtest.pvk/ncn=testtest.cer執(zhí)行過程中會要求輸入密碼,密碼要一致,如下圖所示:ceshimakecertZsvtes

8、t.pvk*ZnceshimakecertZsvtest.pvk*Zncn=testcn=testu utest-cerucceededtest-cerucceeded(5)生成.spc文件cert2spctest.certest.spc之后,就在其目錄中多了一個test.spc文件C=cesiicert2spctest_certest_spcSucceeded.C=cesiicert2spctest_certest_spcSucceeded.(6)對cab文件進行簽名運行singcodesignwizard,此時會彈出對話框,操作如圖所示:C C;cesliisigncodesignviza

9、rdcesliisigncodesignvizard直接按下一步【字簽名向?qū)А咀趾灻驅(qū)募x擇文件選擇由您選擇要簽過數(shù)字釜名的文件.如果文件已有數(shù)字簽名,則會被新的簽名改寫.文件名 3):KeAiGaJh瀏覽二11也上一步通)|下一步Q Q)取消找到指定目錄下的.cab文件*IAi年 wqa筌名選項您選擇的筌名類型決定您可以使用哪些選項.選擇想要的簽名類型O典型(1)推薦語多數(shù)用尸使用.定義;只推薦語高狙用戶使用,可以使用所有高領選項了上一步山川下一步取消選擇自定義簽簽名證書名證書您可以將證書照加到簽名.相應的私鑰金被用來簽名文件.從證書存儲或文件選擇一個證書C.CERxCRTC.CERxC

10、RT或SPC)SPC)O O使用這個證書:從存儲區(qū)選擇)從文件選擇 3).二,查看證書也)描述:文件可能包含很多證書.向?qū)⒏鶕?jù)下一頁上所選的私鑰選擇合適的證書.|上一步咽(下一步與.消選擇“從文件選擇”選項簽名證書簽名證書您可以將證書附加到簽名.相應的私鑰會被用來簽名文件。從證書存儲或文件選擇一個證書CCERCCER、一CRTCRT或一SPC)SPC)H H使用這個證書:從存糖區(qū)選擇(g).(g).二從文晦摧審二一1 1亙看證書W)W)描述:.即C C文件可能包含很多證書,向?qū)⒏鶕?jù)下一頁上所選的私鑰選擇合適的證書.K K上一步)|下 f 退)|下一步C C:VicashiAtist.spe

11、VicashiAtist.spe私鑰私鑰您可以用文件C.pvkC.pvk)中的私鑰或加密服務提供程序(C*C*)提供的私期來簽名數(shù)據(jù).選擇私鑰的位置.G G)磁盤上的私鑰文件電):CSFCSF( ): :提供程序類型日):OcSFOcSF中的私鑰CSFCSF”提供程序類型:密鑰容器(U U): :密鑰類型矍):C C:ceshiVtest.pvkceshiVtest.pvkMicrosoftStrongCryptiographicPrcvideMicrosoftStrongCryptiographicPrcvide”KSAFULLKSAFULL按瀏覽找到.pvk文件上一步向)下一步國)取消-選

12、擇md5您決定要將哪些證書包括到數(shù)字簽名中證書路徑中的所有證書或選定的證書L L戢者其它可選證書口證書路徑中的證書O 證書路徑中的所有證書除了根證書證書路徑中的所有證書,包括根證書O O只有簽名證書其它證書可選)O O包括在以下PKCSPKCS#7#7證書(,/b,/b)文件中的證書比);文件名口;O 在以下證書存儲區(qū)中的證書:存儲區(qū)域):沒有苴他狂帶如|上一步I I下一步舊習嘀;默認直接按下一步不填, 下一步其其它證書它證書紿效番蓋時間戳時間戳保證在某個日期數(shù)據(jù)已存在.符時間數(shù)源加氫數(shù)據(jù)甲時間戳服箔血Q):上一步(1)(1)(下一步值)取消不填, 下一步數(shù)字簽名向?qū)?shù)字簽名向?qū)д谕瓿蓴?shù)字笠

13、名向?qū)б殉晒ν瓿蓴?shù)字鍛名向?qū)?已指定下列設置:交答私加邙散證沒名文文服類算路其到件名鑰密F列書有間按完成數(shù)字箜名向?qū)?shù)字箜名向?qū)?shù)字簽名向?qū)б殉晒ν瓿?J件件務型法徑他證若C C:VceshiVtest.cabVceshiVtest.cabCtVceshitest.spcVceshitest.spcC C:ceshitest,ceshitest,pvkpvkMicrcxoftStrongCryptographMicrcxoftStrongCryptographRSAFULLRSAFULLmd5包括證書路徑和根證書IjJIjJ囹上一步色)|完成取消下面是一個嵌有 ActiveX 控件 test

14、的 HTML 代碼示例:NewPageobjectclassid=clsid:BFB6032F-6F8D-4B7F-B0B3-6303D08348A4id=testCODEBASE=http:/ 是可以從注冊表中查到,也可以從 vc 源代碼中獲取,打開 test.odl文件,id 如下所示:/ClassinfornationForCTestCtrlBFB6032F-6F8D-4B7F-B0B3-6303D083H8AheIpstring(TestControl*),controlcoclassTestdefaultdlspinterfaceDTest;default,sourcedispint

15、erFace_DTestEvents;/(AFXAPPEHD_ODL/AFX二APPEHDZODLi這樣,一個網(wǎng)頁就創(chuàng)建成功啦!最后,c:test 中有如下文件:打開 test.htm 網(wǎng)頁顯示結(jié)果如下:(7)uuid(皿文件制文件夾任務會J嫄 T 融件夾4將這蝕件喊布到V,%b總共享此文件夾K它位置炎.HHXPC)。掰牧檔口共享文檔test,OCKActivd控件1ITKB1ITKBcBktrust,execBktrust,exeTrustValidation.MicrosoftCcrpor.test,cb般由E壓敝件12KB12KBCabarc.ex&Cabarc.ex&:

16、akeccrtakeccrt酰電ECNMukeCfftlECNMukeCfftliarosoftCoiarosoftCotest,inf賽信息1KB1KBtest.spctest.spcPKTSPKTS新證書aartZEpc.aartZEpc.mECMECMCertSpcMicrosofCertSpcMicrosofthrpthrp什.signcode.signcode.EigniEigni碟andandri.ri.MicrosoftCMicrosoftC rpor.rpor.test,prktest,prkm4 4 件1 1KBKBt t t.t.himhim36O36O UHLUHLK K

17、WevWevPape-36nPape-36n安全瀏覽器3-?IF3-?IF式版文件(日查看()收藏但)帳戶(5 工具CO幫助(H).一.1.1二.C9蹌G9nfHe;/1-Vceshi/testhtm目退前進停止刷新主頁恢復收藏歷史無痕曾錄金密加n谷歌 q 網(wǎng)址大全區(qū)0游戲.2clm-lorg導入三:網(wǎng)頁中參數(shù)傳遞接下來,來完成最核心的東西,從網(wǎng)頁中傳遞參數(shù)到控件顯示:修改html代碼如下:MyActiveX-Methods,Properties,andEventsfunctionPassParameter()if(StringInput.value!=)test.GetStr(StringInput.value);MyActiveX-Methods,Properties,andEventsExampleInputParameter:如上述代碼所示, 我們在JavaScript中寫入函數(shù)PassParam

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論