我正在尝试将Windows-Sidebar-Widgets嵌入到我自己的.Net应用程序(WPF和C#)中,但我不知道从哪里开始。我google了一下,但只找到了用于小部件开发的SDK和教程。我发现Windows中有一个小服务,运行小部件。我的想法是,我可以假装这个服务,并在我的程序中提供他的功能,这样我就可以运行并显示小部件。
有没有人有关于如何做到这一点的一些提示?或者这样做的一些经验?对于那种东西,或许甚至有某种类型的图书馆?
如果这不可能,也可以选择切换到OpenSource widged-manager来使用这个小部件,但这只是一个紧急解决方案,非常感谢windows-gadged。
有关我系统的一些信息:
我已经在我的应用程序中为childwindows编写了一些小窗口管理器。最重要的是,我想在某种HostWindow中显示小部件。
任何提示都将受到赞赏。
P.S。:如果我(或我们)让这项工作得以实现,我愿意分享结果: - )
答案 0 :(得分:1)
我从未见过用于托管小工具的图书馆,但由于它们基本上只是网站,因此您可以使用MSHTML组件来理论托管任意任意小工具。
这并不是说这很容易。
你需要将一个小工具提取到一些临时目录,然后启动托管MSHTML的东西(在WinForms WebBrowser中会很方便),导航到该临时目录中的相应文件(通过解析{{3发现)将类似gadget.xml对象的内容推送到小工具中。
作为起点,请注入一些设置System = window.external;
onload和WebBrowerser.ObjectForScripting = new FakeGadgetSystem()
的脚本。
FakeGadgetSystem
需要[ComVisible(true)]
并实施相当数量的内容。我建议抓取一两个小部件来测试温和地练习Gadget API,然后慢慢实现他们所做的调用。与官方小工具托管服务100%兼容将是一件长期的事情。