|
  
- 主题
- 404
- 精华
- 19
- 积分
- 27089
- 荔枝
- 2093 颗
- 龙眼
- 119 个
- 香蕉
- 215 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1496 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。
Q) J6 |: w- F) Z1 ?0 h
9 r$ c5 l4 K. V
( v) ^/ \1 J; n0 T4 ]
u6 H1 v0 w- c1 ^- H) s4 |欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。, M! n+ Q: G6 @
. C9 s5 |) R, i/ u6 p' B/ Q 关于SideBar8 [$ n" P* Z7 S7 v4 _+ D ~8 D
1 \* X8 O( M: D$ n% n SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为
7 e) L2 n+ }- [3 [& w) q- y9 D2 f6 U
“边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:& P+ y4 m' K& T6 Y# p1 F0 d% U
. W, ?& B( S4 ]: e. N+ L6 C
Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。
; ^1 G9 |, w( R" i+ q7 g* V9 H9 v$ f3 r2 Y. }6 ?/ e' C
Sbdrop.dll:Sidebar拖抻支持文件;
8 K3 L! K% U. S' C/ `. g4 D7 F9 |! M# G3 L
settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。, s# ]) ~$ U$ w& N, q5 o/ C
4 s' e2 E) Y7 T3 _ T* j
wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;
. k4 f& M% A* E# F/ Y+ x1 X- }& D
en-us: 英文相关的资源文件;8 w$ P3 R/ U" O5 j. [3 A
3 o! j0 m- a* ]# `
zh-CN:简体中文相关的资源文件;
, X9 O: C! B$ p. k
) Z. Q/ k* c" w1 S# L* @9 r8 j& ~ Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。
; F: |& w* M7 E. J$ O9 ~7 F7 W/ D+ q' b# e0 w8 [$ K
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。
* e1 e I5 B4 q7 B2 V- R8 | z9 H5 T1 P* }7 i
而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。, i( Y7 @ j; f+ w: @: l
7 v. }2 T+ Q- l, @ 关于Gadget0 O8 d) Z- g/ X! R+ o* ?9 P/ p
4 Z( D5 c1 `! p: F 在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:5 f* Z# [% d r, d1 Y
8 C1 L' s: t! t l9 A+ g6 s
Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;1 x/ [2 h, V% L5 C0 Q, q
$ y% u: Y' Y9 A Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;
8 j* w& K+ l9 ^7 @$ D5 b5 e) j! R# b
Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。( {/ n0 @9 J. r
8 \2 r U6 \/ H
另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。
9 I" t( @ d4 }- w9 T5 q8 J3 W' Z
其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。
4 p! P. `- Q) h
- l/ G$ w1 t6 C0 M! k5 j1 m* \ 也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。
' k _" r4 w/ w+ @9 d4 B/ H+ E9 w
系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。( t7 T/ Y' j/ ^$ _4 [/ z. V
& j+ Z8 n& F: `# X2 f( U$ {4 ? Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。) \4 n3 i+ a/ r" @ _; b- S
8 c9 }: ]; S$ u# e5 ] 那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。
8 I& X G2 @8 {0 e6 h# l0 r7 }+ n0 ?% I/ w! F
( l; W! f7 A, p( h7 r8 o/ l! t: v
2 p3 x+ I- c, a. Q7 {原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|