|
  
- 主题
- 403
- 精华
- 19
- 积分
- 26579
- 荔枝
- 2070 颗
- 龙眼
- 111 个
- 香蕉
- 100 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1494 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。
' d) i6 p' A$ \+ o! j! r# o3 K2 z& `; I a) x5 B% B
: L B, ^+ S' A- Y" v, C x
& U0 S, L( h5 n* O) X9 M欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。; c& m4 c$ Z/ p" J" C- u& V' ]
7 S% [0 g% F4 G! c# u
关于SideBar! ~, G# N7 o2 S
8 _2 @* s- \7 G5 j: Y! q. e+ Z7 q; s SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为- |( Y4 u0 c3 v0 a5 v8 M* K) H% r# l v
# b0 v" W3 y' Y7 a, s; c “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:4 h, Y2 [% h3 R p
% W2 e6 `6 x' M8 [. i# u
Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。
" L1 x3 S% V7 `* w3 H; a1 c8 H! ?: S2 _5 t) o$ y
Sbdrop.dll:Sidebar拖抻支持文件;- ?8 h0 i% w" @1 s
4 x! n1 v. b5 L6 T; I settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。
8 e+ f& s& z( V7 J. t" e( q! h g) J! {) c
wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;2 _8 z2 G/ H: A
( U# K! \6 h! Y' e
en-us: 英文相关的资源文件;6 p- J. i/ G- p* E# \1 ]
$ L% ^$ [) S% K3 B9 A zh-CN:简体中文相关的资源文件;8 |1 W% ]( M) K/ Y
) K9 T2 T. X0 n" I Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。6 m+ W7 P, }! ]5 H( X0 B
U9 k0 [; \; ~4 Y/ D0 q$ ^2 m: X
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。
, F s: P) O5 w9 l! g7 y$ I3 U" \
9 {! |5 C* p# `; b& X- B, ~ 而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。8 W8 \( ?" K* Q9 H, \: ]
" ]* [( }: P4 u" ~7 {6 Y
关于Gadget
/ O$ Z/ p# u% L. N8 g- h0 A4 r. `! Y
' A2 U( B; r$ |: L6 g( {3 O 在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:
. [9 {; i1 \/ R' }% L2 ^7 [( i; h% \, k, ~
Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;# a9 I" D: Y N3 U, X. _
0 G" e) ?& {6 h% K# H1 t' E
Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;
. v/ o5 f6 g- h- T
4 A! v! l; O5 @1 w7 `8 n Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。
( \" W. R! ?2 P1 q5 ^) Z
2 y* E% W9 F6 W; O 另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。
5 g: S7 @) D6 J$ ]! }! N8 C
$ C: k. k# @! J4 G. t 其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。
0 T# ?( m j/ `) a9 K0 {8 p; I& y' t0 e- T
也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。( I% N* E, i5 g/ l M0 p+ \" u- Q5 a! x
; C% [+ S( h+ k" ~
系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。. ~& g! |2 j; E! ?! R
8 Q* Z+ a# X( f1 N1 {
Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。
* X% H" R" X# W" v& I" ?, O2 ~) D6 v% Z
那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。
( } {/ A. p4 s' K( E% S0 R& e8 p/ b5 q
7 D" _) l; z0 @% r3 j
- y/ K8 I8 e( k9 l/ I' W0 J& V$ i$ J c% `1 W
原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|