|
  
- 主题
- 405
- 精华
- 18
- 积分
- 27331
- 荔枝
- 2122 颗
- 龙眼
- 120 个
- 香蕉
- 185 条
- 性别
- 男
- 来自
- 根子·茅坡
- 在线时间
- 1503 小时
        
|
Sidebar Gadget最新开发教程:理解两个概念
翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。 ) V' h$ _9 X) U: @0 Y
7 T0 O2 Y. O8 y O
/ A2 k ~! F; } I
: A: C g) S" E; c
欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。
0 M; Y' N0 @: h, q8 f1 f3 }3 d* M0 x5 o& j
关于SideBar
7 e0 C9 w6 g1 v5 d0 B" e: t$ `! W: X6 i Z. R0 m" T( Z- R
SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为% q4 G9 G W, V" J* E5 `; L) k' W
5 ?' L: B5 M; E" T “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:
! b0 b3 t! W( ?3 s( ~
: f( H* Q* L5 A' S3 D) | Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。: } Z- S! C8 t; g- c+ u, R8 ^
1 S, S% W" ~( ?. v; l" i1 `) c7 d/ D
Sbdrop.dll:Sidebar拖抻支持文件;
6 P M: q2 v0 k2 V/ f% K1 I0 H
3 t& P+ G# Q4 V settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。0 T+ \& S" j1 R; ~; V) @. u! r$ n
/ ]1 J9 q: i6 z3 h wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;
% e6 X4 Z/ @6 x# T/ ^$ N8 |! h. F$ B7 e4 L5 M# H
en-us: 英文相关的资源文件;. ~ e7 b8 N R' Q: `
8 Q7 A# [% J5 p7 ~+ b zh-CN:简体中文相关的资源文件;
/ A& z& n% C6 e
8 E8 P) I# {1 G! N Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。& u/ h6 \' `7 t4 H& R: ], O* B
$ R# `3 P2 c* [) p1 M
Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。0 ?2 {: F: P6 E/ v3 {- ]1 V- W: I
+ u& X6 w7 h8 p' T n/ W: w1 r' z 而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。5 J; a- I X5 ~, z0 ~
' k8 j8 b( E! p0 K% X 关于Gadget; l6 t9 ~! b/ I
$ X" K1 R1 C3 Q$ E& S. p G& B6 Q7 | 在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:
( E4 F! K/ E& K* o# j) r3 D# O7 c% j% A7 }) D$ C5 I
Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;
8 n ~) D1 l" n1 v7 M' d$ ^* w3 O. n/ C8 J! F7 i
Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;
* e$ ~1 R: E8 `" u! d( Z/ T: v( o4 y) f% ^* P: H
Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。: ]# k) F: a/ K" K' @" M0 r7 M
7 v) A& h c& z9 n8 x1 c! ?" P1 s6 ]
另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。. o+ S% Z1 {0 B3 q
9 @ y! `( z7 M4 b3 T7 y
其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。) z- s8 Q/ y8 i9 W+ ]9 I
% ~4 H% `8 [' P3 M
也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。! b* R/ Y5 v% G0 y
) |4 W ?# A9 n b9 z1 Q3 g8 c7 }8 E( h 系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。
9 \) E- W: [6 H: o6 n/ t6 ^4 u1 C- N$ x" M& W
Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。1 n4 D$ ?4 ~9 @$ F0 n; z5 V
; l+ y3 A5 t+ q7 i) _
那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。" j( Z( l- g7 D2 S# e
1 x; A5 B3 X+ l; p: T0 i# T/ [5 s
/ ~4 o3 L- c X" \$ z
) L/ q- {2 H& v. y0 V" L
9 @: Q. k0 z8 U0 Z& O- J原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx |
|