|
  
- 主题
- 405
- 精华
- 18
- 积分
- 27331
- 荔枝
- 2122 颗
- 龙眼
- 120 个
- 香蕉
- 185 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1503 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。
% c* ]) e3 c& h2 N$ M/ K! P6 B! Q# V( s1 f7 B0 a
: t7 T* |6 p# T9 D: R
: I! a+ B- }! {2 N0 M# L" S6 Y欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。/ q! T" f4 `2 g$ I; T/ Z; L
" R j3 _4 O/ a+ h( Z
关于SideBar# i' s$ Z8 K2 L
( ^: V, }4 _+ k$ P% e/ q7 f
SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为 _# M7 L+ H8 D- W! [( I
; g3 g- Y$ r' `0 e9 m- [; U
“边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:) P0 N/ U, W- x4 g2 t+ L3 \" r
0 g' q y3 r0 k* Q0 M
Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。0 a& V* V B0 @' j: ~% J% S
) o- N# ^: K" t( _# ` Sbdrop.dll:Sidebar拖抻支持文件;
* |& n% }3 C2 V( A2 v! L' f% }9 b5 h9 h" H% E
settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。5 l2 @, U. Y3 `2 q4 `$ r$ T5 T
+ l# K6 Y3 W- [; ^3 O7 G- i! W5 Y wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;3 i9 C! B: _2 C$ l9 g: ~1 V, N
! E" }: h) d# k; V1 Q2 I/ {
en-us: 英文相关的资源文件;
) R# s8 s$ Y( c2 t) K1 O
0 p, R; G/ S* h/ i1 ~ zh-CN:简体中文相关的资源文件;3 J; D# c( H1 Y" A3 r- Q6 W: P7 D# j
6 H9 d/ `1 k; m7 G6 b# A% V& s
Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。8 p1 w: K# D' k8 ]5 p
/ \+ j& _( v5 r" ~# n. v! q& J
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。
7 Q' R7 W3 W) k, \% A/ C
( S; A* k. H; l E, C 而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。6 o4 W) m9 d: M2 x2 @
# B9 ~! ~. Y5 t. U" W) j0 H 关于Gadget
! p* `! X" A' r2 J' e& I1 V0 K1 r7 N
在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:
- [& C2 R% ?& _- w3 Q7 g6 a. E9 ~+ j* m8 Y
Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;
m/ P7 P* O p9 C0 v6 @+ S4 v
% d+ w. D ~8 r: ] Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;) ^7 M& C) {2 X
- w" z! U# r) Y1 b- O0 Y
Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。, M; y' G+ I0 ~% n; q/ L
' S2 `" i6 [: |3 r! ` 另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。# i. s5 U# I) a: _ I G/ e6 R
- U B& `$ _1 k$ D
其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。
( Y: V) {0 M4 o9 y7 r7 k
8 d3 |- ~ i( W 也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。& s) t/ v) L8 ?% }
* x0 C, d# \7 J6 T
系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。2 x. Q) P6 ^ f; d/ e1 q; c
5 `! N/ b* g; i
Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。* A' S$ \$ U6 r- w
7 ?5 Z/ L4 j+ h% M/ z
那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。
4 q+ a# ~4 y; G, A5 d* H6 ~% W! _, a7 m) t; q4 h* v% g( r+ c
5 b" a, G. V/ e5 H$ x
( i0 T3 O' P- m" w; [+ r/ I$ x& g9 [3 X4 s5 Q
原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|