Windows Gagdget 制作 (一)

在N年以前,至从我知道了在XP上可以使用一个文件夹拖到桌面边边当一个快捷方式的启动栏后,我一直爱不释手。去年换了电脑,又跟上了windows 7的步伐,装好系统后,兴冲冲地将文件夹往后桌面一拖…没反应,再拖还是没反应,这才发现不能使用了。于是在网上找到一个Gadget侧边栏的快捷工具(App Launcher),用了下,感觉与xp下那个文件夹的快捷方式不符合,用不习惯(没显示快捷的名字,感觉很不安逸得)。于是准备自己动手做一个类似XP下的那个功能,在网上找了相关的资料,发现基本上都是使用javascript+css来制作,而我目前又洽洽是搞这个的,因此就动手制作了(里边的快捷应用参考了App Launcher程序)。

我仅求做个实用的东东出来,也许有很多Gadget的API我都用不到的,也看不明白,官方提供的全是英文的,俺英文…连小学生都不如。。。

在windows 7中,系统自带的gadget工具存放在" %homedrive%/Program Files/Windows Sidebar/Gadgets"目录下,用户安装的gadget存放在%userprofile%/AppData/Local/Microsoft/Windows Sidebar/Gadgets目录下。

因为我是使用java做web的 && 好像没有找到什么好的Gadget制作软件 && gadget使用了html+css+javascript,因此我使用了myeclipse 来进行开发,建了一个java工程,在里边建立了一个WebRoot文件夹(这个WebRoot与web工程的那个WebRoot没有一点关系,只是习惯上的原因,我命了这个名字)来做为gadget的根目录,写了个简单的ant文件来将这些文件复制到Gadget的目录下,并将其打包成gadget文件。

Ant 打包脚本为:

 第一个是直接拷到gadget文件夹下,在桌面上右键就可以看到工具了,其中第二个test.gadget的zip文件就是为了以后方便安装而打的包。

好了,现在开始第一步:在WebRoot目录下新建一个gadget.xml文件,这个gadget.xml文件名不能改,必须是这个,否则系统就不认了。

在下图的gadget.xml文件配置信息与运行后界面的效果图对应关系如红线所示。

 其中namespace暂时没有使用到,这个是微软为以后做扩展使用的。

<hosts>

<host name="sidebar"><!--这里的name属性必须为sidebar-->

<base type="HTML" apiVersion="1.0.0" src="mainWindow.html" /><!--这里的tape属性必须为htmlapiVersion1.0.0就可以了,src为小工具运行后的主界面,可以自定义修改-->

<permissions>Full</permissions><!--这里的值只能是Full-->

<platform minPlatformVersion="0.3" /><!--这个就按默认的0.3就可以了,-->

</host>

</hosts>

mainWindow.html代码为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>快捷工具</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<style type="text/css">

body {

width: 140px;

font-size: 14px;

font-family: 微软雅黑, 宋体, serif, sans-serif, sans-serif;

height: 400px;

}

#divBody {

background: url(/images/bgImg.jpg) repeat;

border: 2px ridge #f0f0f0;

}

.title {

color: blue;

font-weight: bold;

font-size: 20px;

font-family: 华文行楷, 宋体;

text-align: center;

height: 250px;

}

</style>

</head>

<body>

<div id="divBody">

<div class="title">

Hello World!

</div>

</div>

</body>

</html>

调用ant 脚本,将文件复制到gadget文件夹,运行后得到的界面图如下:
 

后边那个浅绿色的背景,是我窗口背景,因为在默认情况下,gadget不是透明的。

猜你喜欢

转载自lianggeblog.iteye.com/blog/1697986