设为首页 收藏本站
查看: 776|回复: 0

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

[复制链接]
YunVN网友  发表于 2015-5-19 12:41:09 |阅读模式
  装上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是关键部分,其实也没什么。完全自己后来凭空写的,估计会有错,反正也没人试这个(没人像我从零开始吧)。只当是做日记了。
  
  


DSC0000.gif main.js DSC0001.gif



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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-68519-1-1.html 上篇帖子: 解决WIN7下 Administrator 账户不能使用指纹的问题 下篇帖子: win7下虚拟机上网设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表