|
  
- 主题
- 405
- 精华
- 18
- 积分
- 27330
- 荔枝
- 2122 颗
- 龙眼
- 120 个
- 香蕉
- 185 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1502 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。 # v+ c/ V" z' w! d" n( j
7 Q, x* Q" w) ^4 m, Z* P9 ~
1 g/ Q5 v4 i; Q! G; @2 ?: H, P; G2 O( Z. z- O% L3 c
欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。# s$ I% l) k( I. @9 z6 ], [0 B) R, {# _
" ]8 ]. X+ x3 Y: |! |* ]' h 关于SideBar
4 U7 U- G* z5 ?3 _! B8 z# ^% P8 h' Z0 ]9 t
SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为
X! G c# J9 S: [' _6 Z- D; ^
9 f$ C) B; Y5 n6 @" a$ m. B “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:
5 t# [/ C) S8 r/ x/ c) g T V& i. }. ~& l
Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。
, x! Q1 i1 e/ v, z7 k2 v: |/ u2 o' Q
Sbdrop.dll:Sidebar拖抻支持文件;" Z, }# O) h! e! @
# r6 z% Z h1 q& C$ `/ u! j3 K settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。6 q, Y' c2 Q2 w/ t1 N
6 C. H5 V0 B4 `6 b- b- j wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;3 x" v( X7 k7 x2 `. E6 b
+ C& H; }$ C0 E en-us: 英文相关的资源文件;
2 g ?& d7 {: M& {) U7 A0 U
9 [ |3 D! p. S5 b1 n+ ^/ ` zh-CN:简体中文相关的资源文件;
. r7 n9 n8 I/ {: l" b+ x- b8 ]
* v# Z8 d! u6 W4 a; F% D6 Y& f Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。1 i& z4 B7 i1 |1 y
3 W1 }8 x9 i# B9 M* F
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。5 m0 k; l; i8 p' x8 w+ |; E
! P5 U4 q. N) I4 t+ H$ |
而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。
# k1 g% [( X% H# A4 ^) ?& h
6 g' W5 _5 r6 C( t9 D/ ] 关于Gadget
9 z$ U* h8 v. J3 O3 P; t+ d: z" w/ _1 J( h$ @
在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:
) B) t& Z8 z0 ^) I6 t3 O5 Y! ]. o
: o) z/ }% t$ h+ X6 ] Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;1 p0 z7 K$ C% m8 w' q
@1 P6 Y* B: Y# e5 v$ |$ ]' W
Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;$ V" ]5 p$ l7 T1 ~, N: i. u
) Z5 \$ X9 W' z; T
Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。
, o: R0 P- q c2 I7 G
5 E; S# K1 l6 W# i* K9 U8 ~& L 另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。
" [% z9 B3 h9 A8 R# s
9 N4 l( Z9 s' j 其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。
$ ]% W0 L" k* N# B+ A
' ^+ R1 V0 U& N7 m8 k% G2 b 也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。: I* Z0 |8 I& h/ ]( K
4 V( k: Y, S" _9 { 系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。
+ c# F5 V( g9 e+ Q% b' C, p" i' I& n
Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。2 B& C; |( s; _+ Q9 I, O! ~
2 |. l3 t; L: o9 n% x( [
那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。2 K5 F f5 D7 N) `1 Z6 P+ |3 ^7 m
' ]% W1 d* G: D( m0 z
/ B7 p! u4 ?& Q) @6 b( i9 W2 J1 O. d
w, x4 I1 i ~. |( D5 n原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|