|
  
- 主题
- 405
- 精华
- 18
- 积分
- 27330
- 荔枝
- 2122 颗
- 龙眼
- 120 个
- 香蕉
- 185 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1502 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。 , B9 B+ y! C$ l- N( \8 ?& j* B. E
0 ^' M$ X& e; D; z2 y) V
+ a- D5 w) _6 a% B% m8 M {2 F3 t1 n: W/ w: J
欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。
% z' ]- t$ a9 J' Y, M
/ F! M% J5 \5 F 关于SideBar" {5 y# _, u" ]* U0 E
5 A& e' Z! R+ I! H3 V- U SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为) O3 |) G1 {" G6 D$ a# ~% o% D
% o7 B( |5 b* v5 d7 } “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:
5 ^; W* U2 R, w8 a* a
* d5 T1 {1 a6 U; Y Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。
8 Q" k S% `( m0 D! P; J& [' y: i6 X; A1 n2 p: P: f
Sbdrop.dll:Sidebar拖抻支持文件;
3 C# z; P2 R* b' J7 \' h3 m" N% c b- H4 ^! F' I
settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。
- _5 i+ i+ h+ i& Q% h- J
2 e/ O1 s' z& L wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;5 r; J9 r9 X8 l u/ }' z1 o o+ ^9 v' G
. G }- G# I2 {. g en-us: 英文相关的资源文件;( } l) W, c4 c( ]% r. Y8 c
" ^# u& E a& _6 ^5 ]" t$ b; t4 h
zh-CN:简体中文相关的资源文件;4 Q q5 i5 b& h) Z- G1 _
& N5 B: z3 N; Z8 G2 q# J5 N Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。7 i' j3 f# e& ?- u
/ M! D2 m: T5 _! E
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。6 u O0 V$ Q, E( X% I
, m2 x# h% y3 }/ T9 ]8 j4 a
而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。
5 H+ o, D1 k. ]! @; b) l! q8 ]5 d, l$ F
关于Gadget) @; \2 v5 j% G, _, b& f( m# E
+ n% a8 l. t. N$ \! c9 M
在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:' O; d) y7 e. b! U5 K( p0 p
9 d/ w' Z4 G( c- f- H Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;6 _" _0 a3 h6 g+ X
! @4 M( m* f& I, L3 f2 N7 K Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;
, T' G2 c/ _+ x S$ q7 z) L! l8 m/ ^% k& }! Z7 \* Q7 W
Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。
* t- O8 s4 Z3 e8 u8 C/ O" ~+ D
" b, g+ y$ _* Q+ K9 D 另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。3 f8 e }5 U0 E0 X) ]0 A
! s/ E0 T. w$ l- H
其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。* x9 Z9 E. |9 I& r
* G- J& q0 w# k 也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。% a7 l6 h* d9 x/ u& m' Y& R
! C& V& T% F4 M& ~6 b% T
系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。) M2 B) u3 e8 A# W3 H0 r
7 |; K y) l$ O; Y: h9 G/ n' l& B& K Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。! P1 V$ }$ x ]% }: \
% |, g; [4 N* L8 {- N' o
那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。" u @( C% ^- m; I
4 {' V1 A+ J/ `, A$ D
Z, Y" W- e: E! P$ \
/ g7 f# q* y; g/ O3 |
* B/ i7 C$ [# z1 _5 O: u
原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|