再更新一篇,开始打造自己的win7桌面小工具 - 杨水水

时间:2024-03-04 21:00:52

再更新一篇,开始打造自己的win7桌面小工具

装上Windows7之后,对旁边那个小工具(Gadget)很是喜欢,于是开始学习如何制作属于自己的小工具。

但是我目前完全是零基础,所以这篇日志完全记录了我学习Gadget开发的全过程。如果有人感兴趣,完全

第一篇记录下资料的收集,以及一个修改版的HelloWorld

 

一、资料

首先是上MSDN,说的比较详细了,连接在这里:http://msdn.microsoft.com/zh-cn/library/aa965850(en-us,VS.85).aspx

这个人的中文翻译也不错http://hi.baidu.com/alezi/blog/item/3e3c23fa52d4499b58ee90a2.html

 

说白了这个东西就是个网页,但是有一点不一样,就是图像的问题,微软说这里显示图像要用g标签,即G:BACKGROUND、G:TEXT和G:IMAGE元素。但是好像img也是正常的。

但是考虑到刚刚开始学习,界面是次要的,所以没有去管这个。目前的学习的中心应该是功能。

 

一个Gadget的安装包应该是zip格式,但是我用winrar压缩却装不上,估计必须是用windows自己的zip压缩。

安装后会保存在"C:\Users\Administrator\AppData\Local\Microsoft\Windows Sidebar\Gadgets\"目录下。

另外,自带的小工具在C:\Program Files\Windows Sidebar\Gadgets下,还是比较有参考价值的。

 

 

 二,helloworld

这个helloworld比较比msdn上那个就复杂了一点点,实现了自动刷新,整个工具作用是不停的刷随机数。

小工具的入口在目录下的gadget.xml,里面包含了一些作者信息工具名什么的。关键是指明主网页的位置。

主网页是显示的内容,这里我觉得和做网站不一样,因为内容,特别是文字内容极少。我觉得,把css完全写在html里更方便以一点。

主网页内容和那个标准helloworld几乎一样,添加个<script src="js/main.js" language="javascript" type="text/javascript"></script>

在<body>标签加进去onload=“onLoad()”。就完全没有什么了。

 

main.js是关键部分,其实也没什么。完全自己后来凭空写的,估计会有错,反正也没人试这个(没人像我从零开始吧)。只当是做日记了。

 

 

main.js
var gadgetTimeout;

function write(str,content)
{
document.getElementById(str).innerText
= content ;
}
function onLoad(){

System.Gadget.visibilityChanged
= checkVisibility;
System.Gadget.onUndock
= checkState;
System.Gadget.onDock
= checkState;
checkState();
update();
}

function update(){
try{
clearTimeout(gadgetTimeout);
write(
"content" , Math.random().toString())

gadgetTimeout
= setTimeout("update()", REFRESH_INTERVAL);
}
catch(err)
{
write(
"debuger", "bug" + err.description);
}
}
function checkState()
{
if (!System.Gadget.docked)
{
setUndockedSize();
}
else
{
setDockedSize();
}

}
function setUndockedSize(){
document.body.style.width
= "225px";
}


function setDockedSize(){
document.body.style.width
= "225px";
}

function checkVisibility(){
clearTimeout(gadgetTimeout);
if (System.Gadget.visible)
{
gadgetTimeout
= setTimeout("update()", REFRESH_INTERVAL);
}
}

 

三、安装

把整个文件夹右键——发送到——zip文件夹。把生成的zip文件后缀改为gadget。安装即可。

 

 

第一篇就这么多了,很垃圾,不过考虑到连javascript还是刚开始学,也就这样了。不过毕竟是开始了,写博客就是个日记,等我老了,我也知道自己忙过什么。

 

下一篇,开始实现cpu监控功能,预计监控网络流量会很麻烦,看吧先。