• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0

            我們打開淘寶等網站時,IE瀏覽器會提示安裝空間,這個控件便是用于對用戶名密碼進行加密的ActiveX控件。如何在我們的站點上安裝如此控件,讓用戶可以通過簡單的點擊便可方便使用我們的空間呢?

            下面是如何讓在你的站點上安裝控件的方法。


             基礎知識

            html語言中Object標簽

            定義和用法

            定義一個嵌入的對象。請使用此元素向您的 XHTML 頁面添加多媒體。此元素允許您規定插入 HTML 文檔中的對象的數據和參數,以及可用來顯示和操作數據的代碼。<object> 標簽用于包含對象,比如圖像、音頻、視頻、Java applets、ActiveX、PDF 以及 Flash。object 的初衷是取代 img 和 applet 元素。不過由于漏洞以及缺乏瀏覽器支持,這一點并未實現。瀏覽器的對象支持有賴于對象類型。不幸的是,主流瀏覽器都使用不同的代碼來加載相同的對象類型。而幸運的是,object 對象提供了解決方案。如果未顯示 object 元素,就會執行位于 <object> 和 </object> 之間的代碼。通過這種方式,我們能夠嵌套多個 object 元素(每個對應一個瀏覽器)。

            實例

            向HTML中添加對象:

            1 <object classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628" id="Slider1"   
            2 width="100" height="50">  
            3   <param name="BorderStyle" value="1" />  
            4   <param name="MousePointer" value="0" />  
            5   <param name="Enabled" value="1" />  
            6   <param name="Min" value="0" />  
            7   <param name="Max" value="10" />  
            8 </object>  

             

            參考

            http://www.w3school.com.cn/tags/tag_object.asp

            Windows中注冊類ID:clsid

            “通用唯一標識符”(UUID),用于標識 COM 組件。每個 COM 組件在 Windows 注冊表中都有自己的 CLSID,以便讓其他應用程序加載。

            ActiveX控件CLSID的獲取

            在編譯完成每一個ActiveX控件之后,系統會生成ocx.html文件,其中是調用該ActiveX控件的方法。該頁面中有一個標簽即為Object,其中有一行則記錄著該ocx文件的CLSID,如下:

            1 <object  
            2  ID="TopoSceneViewer"    
            3  WIDTH=800  
            4  HEIGHT=600  
            5  CLASSID="CLSID:321B84C8-3745-4AC9-BF04-55753F40CE63">   
            6 </object> 

             


            創建cab文件

            cab文件中需要包含一系列文件,其中.inf文件會告訴IE如何去安裝這些文件。我們從.inf文件開始

            怎么寫inf

            INF文件的組成有節(Sections),鍵(Key)和值(value)三部分。 
            關鍵節有 
            1 [Version]版本描述信息,主要用于版本控制。   
            2 [Strings]字符串信息,用于常量定義。   
            3 [DestinationDirs]定義系統路徑信息。   
            4 [SourceDisksNames]指明源盤信息。   
            5 [SourceDisksNames]指明源盤文件名。   
            6 [DefaultInstall]開始執行安裝。

            其它的節可以自定義

            最開始一般是[Version]區: 

            1 [Version]    
            2 signature="$XXXX$"    
            3 AdvancedINF=2.0  

             

            "Signature"項定義了該INF文件需要運行在何種操作系統版本中。有$Windows NT$, $Chicago$, or $Windows 95$三個值供選擇,一般選擇$Chicago$即可。

            接下來就是最重要的[Add.Code]區: 

            1 [Add.Code]    
            2 Ctrl1.dll=C1Section    
            3 Ctrl2.dll=Ctrl2.dll  

            前面是要下載的文件名,后面是對應這個文件的區域名,可以是任何名字,不過一般都是和文件的名字相同,這樣方便維護。

            還有需要注意是在[Add.Code]區出現的文件要根據依賴性進行排序,例如前面說的ctrl1.dll要依賴于ctrl2.dll,則ctrl2.dll要出現在ctrl1.dll的前面。因為安裝時是按照相反的順序進行的,也就是說先安裝ctrl2.dll,然后才是ctrl1.dll,哧哧,記清楚了,不要搞反了。

            再接下來是各個文件的區域了 

            1 [Ctrl1.dll]    
            2 file-win32-x86=thiscab    
            3 RegisterServer=yes    
            4 clsid={..}    
            5 DestDir=      
            6 FileVersion=1,0,0,0   

            [Ctrl1.dll]區域中的第一個file值告訴ie到哪里去得到這個dll,file一共包括三個部分,第一部分是file,這個永遠都是這樣的(至少目前來說);第二部分告訴聲明支持的OS,win32表示windows,mac就是蘋果MAC OX了;第三部分是CPU類型,比如說x86、 ppc (Power PC)、 mips或者alpha了。

            file的值可以取三個一個URL、ignore和thiscab,如果是URL則說明到URL所在的位置去下;如果是ignore說明對于這種OS和CPU,不需要下載這個文件(ctrl1.dll);如果是thiscab很明顯就在當前的cab文件中了。

            接下來是RegisterServer,可以取兩個值yes和no,如果為yes則說明ie要注冊該dll,如果是no就不必了。+如果這里選yes,則需要指定clsid,否則clsid一行可以省略。+

            再下來是DestDir,它的值是dll將要存到本地硬盤的位置,如果它的值是10,則將dll放到/Windows或者/WinNT下;如果是11,則放到/Windows/System或者/WinNT/System32下;如果是空(就是沒有值)則會放到/Windows或者/WinNT下的Downloaded Program Files目錄下;

            最后是FileVersion,這個就比較明顯了,說明了ctrl1.dll的版本號。

            其他部分詳見參考文獻。

            創建cab文件

            1. 如果需要創建cab文件,首先需要Cabarc或者Makecab,它們隨著Cabinet SDK的安裝就有了,Cabinet SDK的下載地址是http://msdn.microsoft.com/workshop/management/cab/cabdl.asp
            2. Cabarc可以創建、查看或者解出cab里面的文件,而Makecab則只可以用來創建cab文件。
            3. 制作cab文件時需要將所有的相關文件都包含進去,可以通過Depends(VC自帶的)檢查需要的文件。使用inf文件將這些東西都寫進去。
            4. inf搞法:inf文件描述cab中所有的ocx及dll文件,inf通過一些命名區域來提供需要的信息。
              cabarc  N  ctrl1.cab  ctrl1.inf  ctrl1.dll  
              N表示要創建一個新的文件,ctrl1.cab是創建的文件名,ctrl1.inf是cab的inf,后而是需要加到cab里的文件,可以使用通配符。 
              然后就可以將cab文件放到網頁上了

            參考

            1. 如何編寫INF:http://www.cnblogs.com/sbdx/archive/2006/12/14/whatisinffile.html
            2. 如何寫cab相關的INF:http://docs.google.com/Doc?docid=0Aehzv88zbfy_ZGdncGdqczZfMjIxZHNnZDhtYzg&hl=zh_CN

            簽名

            申請證書

            要使用到makecert工具,在VS2005目錄下搜索可以搜索到。

            在命令提示行中執行

            1 makecert -sk myNewKey --"CN=發證機關的名字,OU=Certification,O=公司名字,E=name@email.com" -ss my myNew.cer  
            2 cert2spc myNew.cer myNew.spc  

            makecert具體使用幫助可參考創建證書的工具(makecert.exe)

            簽名

            要使用到signtool工具,也可以在VS2005目錄下找到。

            signtool工具有多種使用模式,下面使用的是帶UI的向導模式。
            在命令提示行中執行

            1 signtool  signwizard  

            之后進入signcodewizard:

            1 step1.選擇要簽名的cab文件  
            2 step2.自定義  
            3 step3.從文件中選擇 myNew.spc  
            4 step4.csp中的私鑰/密鑰容器:myNewKey  
            5 step5.sha1  
            6 step6.next  
            7 step7.描述:插件名稱/web:www.yourcompany.com  
            8 step8.http://timestamp.verisign.com/scripts/timstamp.dll

            signtool 的具體使用幫助可參考簽名工具 (SignTool.exe)

            本文轉自:http://blog.csdn.net/wangjingfei/article/details/5417028
            其他
            鏈接:http://www.cnblogs.com/rushoooooo/archive/2011/06/22/2087542.html

            posted on 2013-09-05 10:05 王海光 閱讀(716) 評論(0)  編輯 收藏 引用 所屬分類: 工具
            狠狠色婷婷久久综合频道日韩| 久久精品中文字幕一区| 狠狠狠色丁香婷婷综合久久五月| 国产产无码乱码精品久久鸭| 精品国产一区二区三区久久| 日日狠狠久久偷偷色综合免费 | 91精品国产9l久久久久| 国产精品久久久久AV福利动漫| 97超级碰碰碰碰久久久久| 色诱久久av| 久久免费美女视频| 免费精品久久天干天干| 精品久久久久久| 久久久久国产精品人妻| 久久综合九色综合精品| 亚洲愉拍99热成人精品热久久| A级毛片无码久久精品免费| 亚洲精品无码久久久久sm| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 一本一道久久综合狠狠老| 99久久精品免费观看国产| 亚洲va久久久噜噜噜久久| 三级片免费观看久久| Xx性欧美肥妇精品久久久久久| 欧美黑人又粗又大久久久| 亚洲AⅤ优女AV综合久久久| 国产亚州精品女人久久久久久 | 亚洲国产高清精品线久久| 91久久精品视频| 亚洲午夜久久久精品影院| 99久久精品国内| 91精品国产综合久久精品| 国产精品久久久亚洲| 97久久综合精品久久久综合| 久久精品毛片免费观看| 久久AV高清无码| 久久青草国产精品一区| 99久久99久久精品国产片| 精品视频久久久久| 人妻系列无码专区久久五月天| 久久久青草青青国产亚洲免观|