112

我从未为 Vista 或 7 编写过小工具,但我想尝试制作一个。但是我从哪里开始呢?我试图在 google 和 msdn 上搜索,但我没有找到任何有用的东西。要么是非常非常古老的东西(Vista beta 的东西),要么已经制作了小工具,要么是 Vista 和 7 中的小工具之间的差异。但这对我没有帮助,因为我一开始不知道如何制作小工具......我什至没有设法找出它们是用什么写的......

那么,任何人都可以帮助我开始吗?

  • 我从哪里开始?
  • 我需要知道什么?
  • 它们是用什么写的?
  • 它们是如何“包装”的?

换句话说,我如何从使用 Visual Studio 的全新 Windows 7 安装到可以安装并放在我的 Windows 7 桌面上的工作小工具。

4

4 回答 4

89

将所有当前答案组合并组织成一个答案,然后添加我自己的研究:

微软小工具开发小结:

它们是用什么写的?Windows Vista/Seven 小工具是混合使用 XML、HTML、CSS 和一些 IE 脚本语言开发的。也可以将 C# 与最新版本的 Script# 一起使用。

它们是如何打包/部署的?实际的小工具存储在 *.gadget 文件中,这些文件只是上面列出的文本源文件,压缩成单个 zip 文件。

小工具开发的有用参考:

我从哪里开始?对 Windows Vista/Seven 小工具开发的良好介绍性参考:

如果你愿意使用离线资源,这本书似乎是一个很好的资源:

我需要知道什么?其他一些有用的参考资料;不一定是教学


更新:嗯,这已被证明是一个流行的答案~ 分享我自己最近在 Windows 7 小工具开发方面的经验:

开始 Windows 7 小工具开发的最简单方法可能是修改已开发的小工具。我最近自己做了这个,因为我想要一个更大的时钟小工具。找不到任何东西,我修补了一个标准 Windows 时钟小工具的副本,直到它变大了两倍。我建议从时​​钟小工具开始,因为它相当小而且写得很好。这是我使用的过程:

  1. 找到您要修改的小工具。它们分布在几个不同的地方。搜索名为 *.gadget 的文件夹。例子:C:\Program Files\Windows Sidebar\Gadgets\Clock.Gadget\
  2. 制作此文件夹的副本(已安装的小工具未包装在 zip 文件中。)
  3. 重命名一些关键部分:
    1. 文件夹名称
    2. gadget.xml 文件中的名称。它看起来像:<name>Clock</name>这是将显示在“小工具库”窗口中的名称。
  4. 压缩整个 *.gadget 目录。
  5. 将文件扩展名从“zip”更改为“gadget”(可能只需要删除“.zip”扩展名。)
  6. 通过双击新的 *.gadget 文件来安装新的小工具副本。您现在可以像添加任何其他小工具一样添加小工具(右键单击桌面->小工具)
  7. 找到这个小工具的安装位置(可能是%LOCALAPPDATA%\Microsoft\Windows Sidebar\
  8. 修改此目录中的文件。该小工具与网页非常相似:HTML、CSS、JS 和图像文件。gadget.xml 文件指定打开哪个文件作为小工具的“索引”页面。
  9. 保存更改后,通过安装小工具的新实例来查看结果。您还可以调试 JavaScript(该文章的其余部分也提供了非常丰富的信息)。
于 2009-09-02T04:27:41.180 回答
61

这是有关Vista Gadgets的 MSDN 文章。关于 7 个小工具的一些初步文档和更改。我认为唯一的主要变化是小工具不再驻留在侧边栏中,因此“停靠/取消停靠事件”现在是向后兼容的工具,确实不应该使用。

最好的入门方法可能是调整现有的小工具。上面的链接中有一个示例小工具,或者您可以自己选择一个不同的小工具。

小工具是用 HTML、CSS 和一些 IE 脚本语言(通常是 Javascript,但我相信 VBScript 也可以)编写的。对于真正花哨的东西,您可能需要创建一个 ActiveX 对象,因此了解 COM 的 C#/C++ 可能很有用。

小工具被打包为“.gadget”文件,这些文件只是重命名的 Zip 档案,在其顶层包含一个小工具清单 (gadget.xml)。

于 2009-05-24T01:45:01.893 回答
7

这是 Scott Allen 的一篇优秀文章:为 Windows 边栏开发小工具

这个站点,Windows 7/Vista Sidebar Gadgets,有很多小工具资源的链接。

于 2009-05-24T01:49:32.743 回答
5

我已经开始为每个人编写有关此主题的教程,请参阅为 Windows 7 制作小工具

于 2010-10-21T11:35:02.747 回答