狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

在WEB下的客戶端控件的開發應用

admin
2011年3月11日 23:16 本文熱度 2761
1. Visual Basic中ActiveX控件的制作

  ActiveX是Microsoft的術語,它是一組包括控件、DLL和ActiveX文檔的組件,他通常是以動態連接庫形勢存在,因此必須在一個叫容器的可獨立執行的軟件中運行,比如VisualBasic,VisualC++,Internet Explorer等。因此ActiveX控件和容器必須都支持一些特定的接口協議。ActiveX應包括屬性,事件和方法這些特殊機制,它也是創建ActiveX控件的核心。

  從VisualBasic5.0開始,我們就可以用VB創建控件,VB6.0繼承了VB5.0的開發第三方控件的能力。創建ActiveX控件有一定的步驟:
  (1)確定控件將要實現的功能。這一步很重要,在這里我們應該確定控件的外觀,以及它的屬性、事件和
方法。
  (2)通過UserControl對象設計控件的外觀。
  (3)將代碼添加到UserControl來實現控件的外觀和行為。
  (4)設計控件的接口,即屬性、事件和方法。
  (5)創建VB的Standard.EXE工程,利用他調試制作的控件。
  (6)編譯控件部件,生成.ocx文件。(在"文件"菜單, 有"生成DataTimer.ocx"選項)
制作DLL文件的方法類似。
  注冊控件的方法:
  方法一、Regsvr32.exe注冊,Regsvr32.exe位于Windows目錄的system子目錄下。點擊Windows的"開始→運行"菜單,在對話框中輸入以下命令:
  regsvr32 netshare.ocx //注冊netshare.ocx控件
  regsvr32 /u netshare.ocx //解除netshare.ocx控件的注冊
  方法二、新建注冊文件,進行添加右鍵注冊和解除的選項。
  新建一TEXT文件,輸入以下內容:
  Windows Registry Editor Version 5.00  
  [HKEY_CLASSES_ROOT\ocxfile\shell]
  [HKEY_CLASSES_ROOT\ocxfile\shell\注冊]
  [HKEY_CLASSES_ROOT\ocxfile\shell\注冊\command]
  @="regsvr32 %1"
  [HKEY_CLASSES_ROOT\ocxfile\shell\反注冊]
  "Command"="regsvr32 %1 /u"
  [HKEY_CLASSES_ROOT\ocxfile\shell\反注冊\command]
  @="regsvr32 %1 /u"
  然后保存成REG文件,雙擊執行,即完成添加此功能。

2.制作CAB Internet 包

  VB6可以很方便的編寫OCX控件及DLL組件,要在網站中使用DLL組件的使用很簡單,直接在ASP中使用Server.CreateObject("工程名.組件名")可以在服務器端調用該組件。而OCX使用則因為需要下載到客戶端而變得復雜些,要打包成CAB文件進行調用。CAB文件是一種WINDOWS的標準壓縮格式文件,在網頁上發布ActiveX的時候經常使用該壓縮格式對文件進行包裝,目的是使文件便于在Internet上傳輸。

  創建CAB文件的方法有很多,以下是應用VB6實現打包。
  OCX打包成internet包步驟:
  (1)啟運打包程序:菜單"外接程序"-》"外接程序管理器"-》啟用"打包和展開向導"
  (2)開始打包:菜單"外接程序"-》"打包和展開向導",打包成internet包:選"打包",在選擇包類型時選"internet軟件包"....
在CAB包中可以包括所有此控件中使用到的DLL文件。
除了在VB6中進行打包外,還可以在Microsoft visual studio .Net 2003中"創建CAB項目"。
對單一的OCX文件打包,也可以用WINDOWS自帶的iexpress.exe(c:\windows\system32目錄下),在開始菜單->運行里輸入iexpress。

3.為CAB進行簽名

  通過Microsoft的驗證代碼工具,可以對ActiveX控件進行簽名,這告訴用戶你的確是控件的作者而且沒有他人篡改過這個控件;
  為了使用驗證代碼工具對組件進行簽名,必須從證書授權機構獲得一個數字證書;證書包含表明特定軟件程序是正版的信息,這確保了其他程序不能再使用原程序的標識。證書還記錄了頒發日期。當您試圖下載軟件時,Internet Explorer 會驗證證書中的信息,以及當前日期是否在證書的截止日期之前。如果在下載時該信息不是最新的和有效的,Internet Explorer 將顯示一個警告;
  在IE默認的安全級別中,ActiveX控件安裝之前,用戶可以根據自己對軟件發行商和軟件本身的信任程度,選擇決定是否繼續安裝和運行此軟件。
  網絡實名插件使用了國際權威安全廠商Verisign所頒發的數字證書進行簽名,因此可以確保網絡實名插件的真實性和安全性。
  使用Microsoft visual studio .Net 2003開發工具。所以你必須擁有Microsoft visual studio .Net 2002以上版本的環境。
  1、 獲得軟件發行證書
  第一步:開始菜單->運行,輸入cmd.exe。打開windows 2000的命令提示符環境窗口。
  第二步:輸入CD C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin,進入該目錄,用dir命令你可以看到signcode.exe、makecert.exe和cert2spc.exe程序。注意:以上路徑根據你機器Microsoft.Net的安裝路徑不同而異。
  第三步:創建用于數字簽名的公鑰和私鑰對,并將其存儲在證書文件中。
  輸入makecert -sk FortuneAge -n "CN=FortuneAge COMPANY" c:\FortuneAge.cer。
  就會在你的C:生成 FortuneAge.cer文件。
  說明:參數-n指定主題的證書名稱。此名稱必須符合 X.500 標準。最簡單的方法是在雙引號中指定此名稱,并加上前綴 CN=;例如,"CN=myName"。注意這里的CN必須大寫。-sk指定主題的密鑰容器位置,該位置包含私鑰。如果密鑰容器不存在,系統將創建一個。輸入makecert -?可以查看其他參數的用法。
  第四步:創建發行者證書 (SPC)。
  注意,發行者證書測試工具通過一個或多個 X.509 證書創建發行者證書 (SPC)。Cert2spc.exe 僅用于測試目的。可以從證書頒發機構(如 VeriSign 或 Thawte)獲得有效的 SPC。
  輸入命令:cert2spc c:\FortuneAge.cer c:\FortuneAge.spc,在C:盤生成證書文件。至此,你已經擁有了僅用于測試的軟件證書。其實,我們開發的程序或ActiveX控件只要僅用于企業內部,完全可以用這種辦法作數字簽名,使你的控件可以在瀏覽器里自動下載,而不必去專門的證書辦法機構獲得證書。
第五步:在上面打開的dos窗口里,輸入如下命令:signcode /spc c:\FortuneAge.spc /k WHX c:\scan.cab。至此,已經對成功對can.cab文件簽名。可以查看文件的屬性,查看數字簽名。

4.在WEB上的調用

  在HTML頁面中使用ActiveX控件包含三個基本操作:將控件放入HTML中;將該控件下載給用戶;在用戶機器上安裝該控件。如果只是針對IE用戶,在HTML中插入ActiveX控件就比較簡單;如果同時兼顧IE和Netscape用戶,則要做更多工作。大家知道,HTML文件由文本和各種標志(tags)組成,ActiveX 控件對于IE在HTML中的標志是<OBJECT>,該標記有幾個重要的參數特性,它們是:
  1.ID:為控件提供一個標識名稱,為HTML代碼提供一種訪問該控件的方式。
  2.CLASSID:是該控件唯一的UUID,告訴IE裝入哪個對象。如果使用已經開發好的控件,它的CLASSID可以通過調用Win95或NT下的應用Regedit來查找。從開始菜單中運行該程序,展開HKEY_CLASSES_ROOT項,可以看到按字母順序排列的注冊表,找到需要使用的控件名,例如WClnt,展開時可看到一個CLSID文件夾,里面就是該控件的CLASSID。
  如果是自己用VC開發控件,該UUID可以在ActiveX控件項目中的ODL(對象描述庫)文件中找到;通過查看控件的類信息注釋來定位特定控件的UUID,例如,要找到CMyControl控件的UUID,則需要找到以下代碼:
  // Class information for CMyControl
  [uuid (051C4748-1262-11D2-87C1-00A024D948FB),
  licensed,
  helpstring("CmyControl Control"), control ]
  uuid后面括號中的內容就是該控件的UUID。
  3.CODEBASE:如果在用戶機器上沒有控件的當前版本,該參數告訴用戶瀏覽器在哪里可找到要下載的控件和最新版本號.當控件作了修改后,可以更改版本號強制用戶重新下載。
  4.PARAM:該標記用于設置控件的初始屬性值,它有兩個特性:Name和Value,即屬性名稱和屬性值。
  此外還有一些標記,如:Width表示該控件所占的寬度,Height表示高度等,總體來說,這樣一個插入控件的HTML代碼和插入Java Applet的HTML代碼非常相似。
  下面是一個嵌有ActiveX控件的HTML代碼示例:
<OBJECT ID="CMyControl" CLASSID="clsid:051C4748-1262-11D2-87C1-00A024D948FB" CODEBASE="http://www.mysite.com.cn/ocxdir/mycontrol.ocx#version=1,0,0,1" WIDTH=400 HEIGHT=200 ALIGN=center HSPACE=0 VSPACE=0 > </OBJECT>
CODEBASE的設置中,若CAB文件與該WEB文件保存在同一目錄下,只需寫其文件名即可,即CODEBASE="mycontrol.ocx#version=1,0,0,1";#號代表此控件的版本,如果版本不同,客戶端的瀏覽器自然會下載更新。
  如果希望控件還能在Netscape中運行,除了Netscape需加裝插件外,HTML也要加一些附加標記,下面的例子中EMBED段就是為Netscape加上的。如果使用MFC開發OCX控件,則少數用戶第一次訪問時除了下載OCX文件外,還要下載相應的MFC DLL,下載量變大,這時可將相關文件在服務器端打包成可以在客戶端自解壓安裝的CAB文件。經過修改后的HTML代碼段如下:
<ALIGN="CENTER" CLASSID="clsid: 7BCA18C6-2178-11D2-87C1-00A024D948FB" WIDTH="1200" HEIGHT="900" ID="marquee" CODEBASE="http://218.168.188.188/scadaweb/WClnt.cab#version=1,0,0,1">
<EMBED ALIGN="CENTER"CLASSID="clsid:7BCA18C6- 2178-11D2-87C1-00A024D948FB"
WIDTH="1200" HEIGHT="900" ID="marqueequot;" CODEBASE="http://218.168.188.188/scadaweb/
WClnt.OCX#version=1,0,0,1" TYPE="application/oleobject">

5.結束語

  在WEB中開發控件的大致流程已公布,但它的設計和實現方法多種多樣。WEB控件的制作的針對方向為在客戶端的服務,如客戶端打印、掃描等功能。若果是提供服務器端的控件調用,可以研究一下WEBSERVER。

該文章在 2011/3/11 23:16:26 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved