返回列表 发帖

Sidebar Gadget最新开发教程:理解两个概念

  翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。 ) @- L' ~; T" U0 D

5 V. t" f( P* y' L/ u. Q
# j+ Y% K9 Z# D- M: J0 ]' p. b9 S5 h
/ D& M8 k5 @/ t& ]3 B9 k5 c( R$ f( v欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。
. |) f7 {  u; p2 W2 @. s& G. _; K& W( z/ U1 Z
  关于SideBar
( |2 Q9 [* T, F# X2 B) W5 K2 `" M% S, u" F( U2 i& f0 ]
  SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为) ~3 d% d- b- H; j+ n$ K3 @
! V) g4 b( {# n/ C) R
  “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:
. l7 j0 G$ \" M& B& j. k1 q; e5 m9 M2 q' w/ y
  Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。+ b1 N$ B7 U& H5 G5 K9 O; k# N
* t" G8 v/ m/ L, S9 _: N; k( U
  Sbdrop.dll:Sidebar拖抻支持文件;: @5 S' d( `$ T. K6 [

; g5 N) D- k5 U2 Y# B- V) ^  settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。  U0 j/ `' j# e0 t  P# Q
+ q8 Q. F2 J& Y1 g
  wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;
0 @' N1 Q5 ]; M: Z
6 `$ d" ^! j- M2 n, j" }1 ^  en-us: 英文相关的资源文件;4 R) C3 y9 t* s5 q5 [/ @; \
2 P6 y* |+ U  e2 W' M
  zh-CN:简体中文相关的资源文件;- {( j' {- y- B

/ [& e2 w- Y% s  Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。
3 E1 d7 v/ p0 F9 y  N. n- t  x( f6 X. E& T& q8 N: x) p8 f
  Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。
; r" k4 Z& F$ ^7 C. j. l
. \) l" ~/ X4 A' y# f+ _  而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。; v5 w' n6 }1 z6 O$ C

2 w9 ]( V3 h$ O3 ~, ]  H  关于Gadget
3 q5 A; ]  z( _" _; w' C* z* i+ ^
: j2 ~' ~! F4 p4 T2 F% w0 W' _  在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:2 Y+ ^+ z7 U% I0 Z* @* O

+ a7 D# T1 Y2 b  Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;# w7 P, W/ F$ O2 r4 W- j& S* D

. r8 Z1 \! H5 t, r) L- K( G& u  Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;$ x; U1 O2 \3 @; \! k; y
$ ]2 A( D! ^$ ^4 h
  Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。
- T# k; n; h0 f& X' k1 D! [2 |$ L5 q' [
  另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。& u- u% o4 T' y1 A

4 b& I" X5 T2 Q4 l; m5 B* v  其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。4 Q# X5 v% X: P+ f2 ]

' Z* W0 ]9 {1 B  也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。
% n9 s; t& A; Y, Y/ A$ \
8 r  P+ W3 \7 n  系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。4 C+ S3 S# J0 |/ j2 e0 B/ w( W

  h1 K/ N5 u. j: Y, [  Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。1 g/ x7 T: I4 |5 g6 |9 ~) {6 W

* ?* ]/ a% G4 w: a/ n0 S) w* a9 D  那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。
9 ^6 p) Q- p! b3 b) z: H7 s) ?) r+ P

9 j( F8 A5 S4 s& H. y# [4 O2 G2 x; i$ B3 T: y

. e& ~* v5 p! ?0 D9 j0 v! P原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx

有意应聘版主的请发站内信给我!爱我家乡:〓 荔乡根子镇 〓 http://www.525247.net

返回列表