返回列表 发帖

Sidebar Gadget最新开发教程:理解两个概念

  翻译了两篇Sidebar Gadget的文章后,决定自己写一个教程,与准备投身于Sidebar Gadget开发的劳苦大众们分享一下经验。也当作自己个人学习Gadget开发的一些总结,使自己可以学习得深入一些。
  i% Z6 K% ^( v7 x( J' t1 m1 O$ \- r. Z+ _: d9 ~% I
& p/ p. i  f: j9 k8 H

; |, |7 d; W, |9 y9 d3 `欢迎大家就这一系列文章提出批评斧正。本部分准备介绍一些基础知识。
1 ?6 @" D4 S- f* V2 [, n0 A' Z  F+ e3 j! ?
  关于SideBar
( S1 @+ c$ Z$ V$ ]" S& r5 m* P4 [4 L0 p2 o  t
  SideBar是Windows Vista特有的一个显示子系统(曾经宣布为Windows XP以及Windows Server 2003也开发Sidebar,但该项目现已取消),在中文系统中称之为  S1 W2 d! J8 C' [( w
9 M3 ^/ u# {! n( f) {- `
  “边栏”。其执行程序,我们可以在以下目录中找到[SystemInstalledDriver:]\program files\Windows Sidebar,此文件夹 结构大体如右图所示,各文件夹以及文件的具体作用如下:: [1 s$ ^0 {2 A, A" P' N7 q

6 Q# t9 s# z5 q) z- I  f  Sidebar.exe:此文件即Sidebar.exe的主执行文件,如果你在Windows Vista当中未打开边栏,可以直接执行该文件即打开。
0 J9 x$ G2 u( M6 L/ f/ X9 l) z2 N" F
  Sbdrop.dll:Sidebar拖抻支持文件;
+ o5 H: R$ x+ R1 }" s8 R4 u6 H2 A3 ]
  settings.ini: Sidebar设置文件,可以设置默认启动Gadget等特性。% ]5 K% p1 N: z2 K/ v: y& g0 a
) Z' J: b# V' g4 z5 M
  wlstrvc.dll: Weather Gadget(即显示天气的小工具)所依赖的ActiveXControl,显示RSS信息的Gadget所依赖的ActiveX控件是置身在System32目录下msfeeds.dll文件;5 A& W& }- K/ ]7 k1 u* L

+ g! s  [' T2 I% U0 u5 N' J  en-us: 英文相关的资源文件;
' C& q6 ?% B2 _5 ~3 t1 x: }" ?1 P5 Y
6 A. [9 D0 A- _- G  zh-CN:简体中文相关的资源文件;" P( }5 t8 n; }, Z1 N3 h% y" h
: }! D9 K) \% ?- r$ H+ q
  Gadgets文件夹:该文件夹中包括多个子文件夹,每个子文件夹均是Windows Vista默认自带的Gadgets解压后的形式。- v; k# @' o1 B. [( m  b# T9 e! |

# s1 L5 X7 }- P' \. D$ X  Shared Gadget:存储在此文件夹中的Gadget可以供同一机器上的多用户共同使用。: X0 i) n7 N3 ~0 f! @+ B
2 n+ U' Q; H/ o, f- P9 d6 s' R( d
  而用户自行安装的Gadget可以在[SystemInstalledDriver:]\users\[user name]\appdata\local\microsoft\windows sidebar\gadgets\中查找到。2 G2 V$ A6 Y& T  v2 m4 v* N

' T! @' r* k+ I$ i; s' j  关于Gadget
' j% b0 j) V$ y6 c6 I( E
& o& l( Y1 t1 U# p1 g3 _  在中文系统中,Gadget被翻译为“小工具”,微软的Gadget基本上分为三种,即Live Gadget、Sidebar Gadget以及Slideshow Gadget:( I1 T" @) B0 B: H; ~
9 P3 v, @0 [# p4 r. U7 x
  Live Gadget:如果大家访问http://www.live.com,会发现其页面可以进行自定义,而自定义的小型页面模块,我们称之为Live Gadget;
3 e& Z9 z9 ~3 A! L& c$ N2 G8 c8 z: I- D$ v6 p
  Slideshow Gadget:Windows Vista支持未来的笔记本电脑除了主显示屏外,还可以有一个外置的小型显示屏,类似于双屏手机中外置显示屏,在不开电脑电源的情况下,从这个扩展显示屏上获取自己想要的信息,而实现这个功能的模块称之为Slideshow Gadget;
! q$ T. Z& t" c7 `* p1 L/ L+ T' Y7 w, ~& Y. e$ v! D
  Sidebar Gadget:本教程中所指的Gadget是此种,依赖于Windows Sidebar所执行的Gadget。; P; H$ V: s0 d3 a8 G
; O4 A% i% X; b
  另外,这三种Gadget目前的开发环境、执行环境以及开发方式均不统一,不能统用。至于未来规划,开心也不是非常清楚。有知道的可以在此透露一下。
  T" Y% q+ V6 I, B& |- f. v4 O
+ `: a7 C0 u6 @7 j( d  其实Gadget本身非常简单,如果感兴趣,可以访问http://go.microsoft.com/fwlink/?LinkId=55696,并且随意下载一个SideBar Gadget。把其另存在桌面上,比如那个计算器Gadget(Calculator)。其后缀名为.gadget。我们现在把后缀名改为.zip,在Windows XP系统上可以双击打开,就会看到其目录结构。
/ M+ i% `' j) p+ v& x
4 U# \, c7 }8 s) k5 k0 [5 x  也就是说,Gadget本身是包含一堆HTML、JavaScript、CSS以及图片文件一个压缩包,其压缩格式可以采用ZIP格式,也可以采用CAB格式。采用CAB格式,可以进行数字签名,参阅我上一篇译文。在这个Gadget中使用Gadget.xml这个文件来描述此Gadget的通用信息,如名称、作者、版本、是否有设置文件、图标等等。此文件可以放置在根目录中,也可以放置在不同语言文件夹中,如en-us或者zh-cn当中。3 f( m6 x/ L' i% Z% J1 {1 S
7 |& s* d7 T$ K( H
  系统自带的Gadget大部分都使用了一些特别开发的ActiveX控件。我们自己开发的Gadget如果是想使用Microsoft Gadget Gallery(即http://go.microsoft.com/fwlink/?LinkId=55696)方式或者后缀名为.gadget方式分发,那么只能调用系统中已有的ActiveX控件,而不能创建自己的ActiveX控件。如果你想自己制作可执行的安装文件包,那么你就可以为所欲为了(流氓软件???呵呵)。* z9 Q# v% c! q6 b

8 ]; j+ r' Y8 B7 E  Javascript可以调用的ActiveX控件也非常多,比如使用Scripting.FileSystemObject访问文件系统,使用Microsoft.XmlDom分析XML文件,使用Microsoft.XMLHTTP调用Web Service等。所以Gadget可以做很多事情。% o+ l3 A* b: ~3 T5 `

) F. H* H# M# E% E- |  那么可以做什么事情呢?这就得依赖于我们的头脑不断闪现的灵感火花了。0 M# M6 ]0 v. G7 M8 N+ R! H4 r! ^
9 m2 \7 h9 l, ~4 x

9 P0 y6 \) y" K2 {
; |: C1 p% D- u# d! w3 L0 {# |3 s2 E4 U$ b9 g9 i$ A
原文:http://blog.joycode.com/joy/archive/2006/10/24/85611.aspx

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

返回列表