发表于 2015-5-19 12:41:09

再更新一篇,开始打造自己的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几乎一样,添加个
  在标签加进去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监控功能,预计监控网络流量会很麻烦,看吧先。
页: [1]
查看完整版本: 再更新一篇,开始打造自己的win7桌面小工具