Windows 桌面边栏小工具开发入门
准备为网站做一个桌面通知功能的工具,现在网上一般是html5+js的比较多。虽然html5+js现在是web的开发主流,但是我们应用一般是windows系统。并且应使用中,需要打开谷歌或其它的浏览器,这个很麻烦。
在百度中找到一个windows的DesktopTools看以很好用,用来分析了一下。在网上下载http://www.uzzf.com/soft/53006.html 一个小工具。按照http://blog.csdn.net/mrxyz098/article/details/27982991 的说明。
用winrar解压了一个.gadget文件。内面存放的都是html ,xml,js文件。 现在引用上面的链接说明分析一下。
.xml文件,用于储存小工具的基本设置,包括名称、版本等等。以下就是一个典型的gadget.xml文件示例:
<?xml version="1.0" encoding="utf-8"?>
<gadget>
<!--小工具名称-->
<name>test</name>
<!--小工具命名空间-->
<namespace><!--_locComment_text="{Locked}"-->Yourname.Test</namespace>
<!--小工具版本号-->
<version><!--_locComment_text="{Locked}"-->1.0.0.0</version>
<!--作者名称-->
<author name="">
<!--作者更多信息,链接和显示内容-->
<info url="http://www.msphome.cn" target="_blank">http://www.msphome.cn
</info>
<!--小工具的LOGO-->
<logo src="logo.png"/>
</author>
<!--小工具版权-->
<copyright><!--_locComment_text="{Locked}"-->? 2009</copyright>
<!--小工具简介-->
<description>简介。</description>
<icons>
<!--小工具图标-->
<icon height="48" width="48" src="icon.png"/>
</icons>
<hosts>
<host name="sidebar">
<!--是否自适应分辨率-->
<autoscaleDPI><!--_locComment_text="{Locked}"-->true</autoscaleDPI>
<!--小工具主体HTML文件-->
<base type="HTML" apiVersion="1.0.0" src="Test.html"/>
<permissions><!--_locComment_text="{Locked}"-->Full</permissions>
<!--小工具能正常运行的最低平台-->
<platform minPlatformVersion="1.0"/>
<!--当小工具被拖动时,显示的图形-->
<defaultImage src="drag.png"/>
</host>
</hosts>
</gadget>
经过以上设置以后,系统就能识别出我们自己的小工具了。接下来,就是编写这个小工具了。 首先,我们先来了解下YourName.Gadget这个文件夹里面的文件。除了上面的gadget.xml文件,我们还需要存放上面定义的logo.png,icon.png,drag.png,这些图片文件。如果需要多语言支持,请建立语言文件夹,具体存放方法可以参考工具目录下微软自带的小工具。
接下来,我们需要知道Gadget的编程接口。在MSDN的参考中,我们得知,在小工具的HTML文件中所包含的JS里面,我们可以使用System.Gadget对象,这个对象包括的事件、方法、属性请参考
另外,在Gadget里面还有一些对象也是可用的,这些可能对我们非常有用。详情请查看博客园上面的文章(内容为英文)
在实际操作中还发现了一个有趣的事情,就是Gadget里面的JS脚本拥有比较高的权限,可以使用一些在浏览器里面被禁用的COM组件,比如adodb、FSO等等,并且里面的XMLHTTP组件读取也是可以跨域的,呵呵。这样我们可以很方便地使我们的程序变得强大起来。
想要给小工具添加一个设置页面?可以,只要在公共执行的JS里面加入一句
System.Gadget.settingsUI = "Settings.html";
就可以了。
当我们完成开发以后,就需要将小工具打包发布。标准的小工具安装包是以Gadget为扩展名的ZIP或者CAB压缩包。因此,我们只需要把开发文件夹里面的所有文件打包压缩即可。我们可以使用WinRAR制作ZIP压缩包,然后将扩展名修改为Gadget即可,这样,小工具的打包就完成了。
Windows 桌面边栏小工具开发入门的更多相关文章
- .Net Core ORM选择之路,哪个才适合你 通用查询类封装之Mongodb篇 Snowflake(雪花算法)的JavaScript实现 【开发记录】如何在B/S项目中使用中国天气的实时天气功能 【开发记录】微信小游戏开发入门——俄罗斯方块
.Net Core ORM选择之路,哪个才适合你 因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ...
- 微信小程序开发入门教程
做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...
- WordPress小工具开发教程(网站公告)
WordPress小工具开发教程(网站公告) BY TIANQIXIN · 2012 年 12 月 26 日 wordpress主题小工具,可以自由拖动到侧边栏,并在前台实现相应功能!一般自带的小 ...
- 利用ncurses库开发终端工具箱(1)—— ToDoList小工具开发
准备工作 腾讯云服务器(Ubuntu),C++编程语言 由于想输出界面中包含中文,所以安装库 libncursesw5,依次输入下面三行命令 sudo apt-get install libncurs ...
- Windows 上的 Jetty 小工具
做项目经常遇到需要开发Java应用,我喜欢用Jetty进行开发.部署,主要是由于Jetty的轻量级. Jetty 项目主页:http://www.eclipse.org/jetty/, 最新版9.30 ...
- 微信小程序-开发入门(一)
微信小程序已经火了一段时间了,之前一直也在关注,就这半年的发展来看,相对原生APP大部分公司还是不愿意将主营业务放到微信平台上,以免受制于腾讯,不过就小程序的应用场景(用完即走和二维码分发等)还是很值 ...
- 微信小程序开发入门(一)
小程序学习入门--(一) 最近自己学习微信小程序的过程当中自己总结出来的知识点,我会不断地更新和完善! 小程序的开发工具 一台电脑 熟悉HTML.CSS.JS基本语法 开发工具: 微信web开发者工 ...
- 微信小程序开发入门与实践
基础知识---- MINA 框架 为方便微信小程序开发,微信为小程序提供了 MINA 框架,这套框架集成了大量的原生组件以及 API.通过这套框架,我们可以方便快捷的完成相关的小程序开发工作. MIN ...
- 【原】得心应手小工具开发——IE代理快速切换工具
一.引入 因为公司里上外网要经常换IE代理地址,每次切换地址都要进到Internet Options里去设置一番,经常切换的话很是麻烦,由于用了点时间作个小工具来方便自己. 二.实现思路 其实思路很简 ...
随机推荐
- bootstrap注意事项(六)按钮
1.预定义样式 使用下面列出的类可以快速创建一个带有预定义样式的按钮 <!DOCTYPE HTML><html><head> <link rel=" ...
- vs2010快捷方式
[窗口快捷键] Ctrl+W,W: 浏览器窗口 Ctrl+W,S: 解决方案管理器 Ctrl+W,C: 类视图 Ctrl+W,E: 错误列表 Ctrl+W,O: 输出视图 trl+W,P: ...
- ##DAY3 自定义视图、视图控制器、视图控制器指定视图、loadView、 viewDidLoad、MVC、屏幕旋转、内存警告
##DAY3 自定义视图.视图控制器.视图控制器指定视图.loadView. viewDidLoad.MVC.屏幕旋转.内存警告 #pragma mark ———————自定义视图的步骤 —————— ...
- Win32应用程序的基本结构
0 引言 Win32 API是用于创建 Windows 应用程序的应用程序编程接口.通常情况下,一个Win32应用包含一下几个部分: 1) 应用程序入口: 2) 注册窗口类: 3) ...
- git 克隆本地仓库
如果要从本地仓库克隆到另一个地方使用如下命令 git clone d:/SourceRepository d:/DestinationRepository d:/SourceRepository:本地 ...
- Linux学习之查看远端的端口是否通畅
以80端口为例解答 法一:此法常被用来检测是个远端端口是否通畅 [root@oldboy ~]# telnet baidu.com Trying 123.125.114.144... Connecte ...
- 黑马程序员-- C语言变量作用域与代码块
这里通过变量作用域的两种错误用法来介绍一下C语言变量作用域 其次对代码块的使用进行了简单说明: #include <stdio.h> 1.变量的作用域(作用范围) 变量定义的那一行开始,直 ...
- 复习-C语言内嵌汇编-初级(2)
汇编取出内存中的值 # include <stdio.h> int main() { ; ; int *p = &i; //ret = *p; __asm__( "ldr ...
- SQL Server 行的删除与修改-------------(未完待续P222 deep SQL Server 222 )
删除: 1.堆表:当行被删除时,不会自动重新组织页面上的空间.删除行时不会从物理页面上删除, 而只是把行偏移设置为 0 .表示空间没有使用.除了页面上没有被回收空间之外,堆中的 空白页也常常不会被回收 ...
- Oracle EBS-SQL (SYS-6):sys_在线用户职责查询.sql
/*线用户查询-1*/ SELECT FSAV.USER_NAME,FU.DESCRIPTION,FSAV.RESPONSIBILITY_NAME,FSAV.USER_FORM_NAME,FSAV.L ...