|
  
- 主题
- 405
- 精华
- 18
- 积分
- 27331
- 荔枝
- 2122 颗
- 龙眼
- 120 个
- 香蕉
- 185 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1503 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。 - k9 E, t! A" b
5 u+ Y; r( v7 }* V6 @' H n- [
9 z+ U9 v" a+ K
% w+ _$ }/ N9 s0 F) i$ N& q欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。
, u! S) E; j+ w2 c" ^8 {2 P# X7 j" z% I' ]2 W
关于SideBar4 H- z( D# r5 _
7 \2 E! k! h) @ SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为7 \; u! [' p8 K ^: C+ b
' ~5 O& z" i7 ~7 v) J, L3 Z- p) Q& G( K “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:6 T( U5 J, L/ g' a
; B5 r7 b+ H+ n
Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。
: I6 N1 C1 h1 d0 v9 r
# |4 u' X5 Q3 x+ r. I3 D4 Z! t Sbdrop.dll:Sidebar拖抻支持文件;9 g3 N9 H/ t2 f X; ~
3 D% [( i- V& d; v$ h9 e" C% j E settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。
; k0 K- |2 i5 s; D7 {; [% w
- z# _% o& S% e wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;
) e# \/ m; M# B ]6 \" e1 o1 n5 J2 P8 e/ v
en-us: 英文相关的资源文件;' s# L8 \: d) l/ @$ |1 {2 A
2 x4 f1 `& g9 ~8 p2 @0 q7 n2 x
zh-CN:简体中文相关的资源文件;
1 ~2 i/ x2 _2 q
( a/ p2 z# n! q& L Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。
* {* O4 [9 y6 j% u2 q; Z6 q+ f0 b0 J1 b7 D2 w0 j
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。
$ c, g/ j; ^, E) k
9 b, W2 @ I6 I2 K 而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。
6 c& d+ v- s! b( n4 t" w! e+ N
- d- ^) Q% U0 z 关于Gadget
& D( Y) X* X! F6 \2 W' M4 T8 r2 k9 X% L7 q3 Z
在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:8 n& G4 X0 a w. ^6 O
& V4 }6 b& ^0 l: j; x0 L Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;
8 b, B8 ?+ w1 B Q3 ^! t0 A" y0 w) o& A1 g R7 Q/ W: U5 h
Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;
3 X; e' T& S. s/ m( p8 R9 w
" u6 |! T5 Z% {* m Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。. U: B" P; Z, O2 q6 u9 `% U
8 F" P4 U- `2 C* n 另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。
8 y" v; N( N6 [0 J4 G$ W0 j: Q; \3 k, K, d
其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。2 D3 T% X5 a# Q( W) H3 j/ t' u% @
8 `" i; c' q1 }3 x8 \9 s" X" l
也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。5 ~& S, A: e# O7 o
+ w! T( a' ]* V" b5 X 系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。
) H% S. b2 X6 K9 L
1 x+ w8 @4 F; f) W( ?6 B5 ]- Z Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。' J2 J0 o( @, m. `% z6 P
; J; \5 _1 {4 E, j# E* E. A
那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。
0 ]* y8 {4 N, Z7 D5 r( k- p+ h- O; f- |0 ~& G. U) l) j
6 m( x' ]+ M9 O" w/ u* L# T7 f8 P, G: }3 \
( u& g9 H0 }8 L. o& C1 ^5 ~9 I原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|