【发布时间】:2011-10-10 20:03:42
【问题描述】:
我想编写一个桌面小工具,它将我桌面上的图标分组(使用 c# 和 WPF)。 这将是一个停靠窗口,我可以将图标拖到它上面,它们将保持原样。也可以有几个这样的窗口。
我从哪里开始?
**我在这里看到了所有关于它的帖子,但我迷路了。请引导我到示例和解释页面。
【问题讨论】:
标签: c# wpf windows-7 windows-desktop-gadgets
我想编写一个桌面小工具,它将我桌面上的图标分组(使用 c# 和 WPF)。 这将是一个停靠窗口,我可以将图标拖到它上面,它们将保持原样。也可以有几个这样的窗口。
我从哪里开始?
**我在这里看到了所有关于它的帖子,但我迷路了。请引导我到示例和解释页面。
【问题讨论】:
标签: c# wpf windows-7 windows-desktop-gadgets
也许this 会帮助你。
在 C# 中使用 Silverlight 3.0 或 4.0 控件轻松开始开发 Sideber 小工具的模板。
【讨论】:
扩展 cevik 的答案:
您不能将 WPF 应用程序创建为小工具但是您有两个选择(没有您预期的那么糟糕)。
原因是小部件主要由网页 (HTML) 组成,而不是可执行文件 (*.exe)。
问题当然是 WPF 只能使用和生成可执行文件。
第一个选项 - Windows API:
当我说你不能时,我真正的意思是你不能使用 Windows Vista/7 小工具平台来制作你的小部件。
但是,您始终可以使用 Windows API 实现类似的效果。
Windows API 可以让你对窗口做一些事情,比如让它们总是在其他程序的背景上,这对我来说听起来像 ~80% 那里(剩下的就是确保你的窗口不会被重新调整大小或最小化等)。
请注意,您要寻找的使窗口位于所有其他窗口后面的函数将是 SetWindowPos(特别是第二个参数)。
但是请确保没有一个库已经实现了这些东西,因为它可能相当困难(并且包含 A LOT 的惊喜)。
第二个选项 - Silverlight
silverlight 可以被视为 Web 的 WPF。
这显然解决了我们的问题。
不过,正如预期的那样,这是有代价的。
Silverlight 不具备 WPF 的所有功能(可能也不具备 .NET 框架的所有功能,我不确定,因为我并没有真正使用它)。
但是,它应该足以让您通过,所以您一定要检查一下。
拥有 Silverlight 应用程序(和网页)后,您必须创建清单并将小工具安装到您的桌面。请参阅here 操作方法。
【讨论】: