终于完成了一个Windows边栏小工具。

这个20分记分器是用来给自己每天的成就打分的。每完成一个工作或任务,点击Points就增加20分。

用来激励自己,努力奋斗。下面是工具的下载链接,由于博客园上传文件类型的限制,将.gadget的后缀

改成了.zip。要安装的朋友将.zip后缀改为.gadget即可。 

https://files.cnblogs.com/paiooo/20%e5%88%86%e8%ae%b0%e5%88%86%e5%99%a8.zip

 

下面来说下Gadget边栏小工具的开发,嘿嘿。

windows vista和7支持一个叫做小工具的东西,自带的有性能表盘,时钟,日历等。

之前一直不明白是怎么开发的。其实原理很简单,就是由html,javascript,css等组成的一个小网页程序。

小工具的安装文件后缀是.gadget,这个看起来怪怪的扩展名其实是由.zip文件改出来的。也就是说,这些

安装文件其实是一个个的zip文件。那么zip包里有些什么呢,不用说了,就是一堆网页必须的文件。

如果你会用javascript就可以写出gadget小工具。个人觉得这中web实现方法挺好的,google桌面的小工具

也是如此。

 

当然,不是说所有的网页都可以打包成gadget文件的。必须是具有正确格式的gadget.xml文件的网页程序才能

打包作为gadget小工具。下边是gadget.xml的样例:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <gadget>
 3   <name>20分 记分器</name>
 4   <namespace>Yimo</namespace>
 5   <version>1.0</version>
 6   <author name="yimo">
 7     <info url="#Yimo" />
 8     <logo src="logo.png" />
 9   </author>
10   <copyright>Yimo ©2010</copyright>
11   <description>20分记分器</description>
12   <icons>
13     <icon width="64" height="64" src="icon.png" />
14   </icons>
15   <hosts>
16     <host name="sidebar">
17       <base type="HTML" apiVersion="1.0.0" src="gadget.html" />
18       <permissions>full</permissions>
19       <platform minPlatformVersion="0.3" />
20     </host>
21   </hosts>
22 </gadget>

 

 这个xml文件必须以gadget为根元素。需要注意的是ahthor元素的子元素logo,和icons元素,在我的代码中引用的文件是

"logo.png",如果你解压了《20分记分器》,会发现根本没有此文件。这个是微软为gadget预留的默认图标,用来在小工具

集程序里显示图标,将自己的图片文件引用过去就能在小工具集中显示你自定的图标了。我比较懒,没换。

下边的hosts元素中,base元素的src属性记录了你的小工具的入口页面,程序从此页面开始。platform元素的属性

minPlatformVersion好像指的是最低平台版本要求,之前有写过"1.0",结果不能运行。有个百度搜索小工具在此处的版本号是

"0.1"。msdn上的格式用的是"0.3"所以就用了这个。

 

当你设置完gadget.xml后,还需要注意这个元素<g:background>,其他的就跟网页开发无异了。 

这个元素确定了你页面的外部皮肤,用了透明图层的png文件,只有在这里引用才能正确实现。我开始时不知道有这个,外观始终

不能实现png透明。下面的关于<g:background>的代码片段: 

 1 <body>

2 <g:background src="./back.png" id="mainBG">
3 <div id="gadgetContent">
4     <div id="num" onclick="reset();">---</div>
5     <div id="point" onclick="addPoint();">Points</div>
6 </div>
7 </g:background>
8 </body>

 

 

希望这些能对初次接触gadget的朋友有所帮助