返回列表 发帖

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

有意应聘版主的请发站内信给我!爱我家乡:〓 荔乡根子镇 〓 http://www.525247.net

返回列表