Можно ли встраивать Windows Sidebar Widgeds в собственное приложение .Net? - PullRequest
2 голосов
/ 16 мая 2011

Я пытаюсь встроить виджеты Windows-Sidebar-Widgets в свое собственное приложение .Net (WPF и C #), но я не знаю, с чего начать. Я немного погуглил, но нашел только SDK и учебные пособия для разработки виджетов. Я обнаружил, что в Windows есть небольшой сервис, запускающий виджеты. Я думал, что, возможно, смогу подделать этот сервис и предоставить его функции в рамках моей программы, чтобы я мог запускать и показывать виджеты.

У кого-нибудь есть советы, как это сделать? Или какой-то опыт в этом? Возможно, есть даже какая-то библиотека для такого рода вещей?

Если это невозможно, также можно переключиться на менеджер виджетов OpenSource, чтобы использовать эти виджеты, но это только экстренное решение, и оконные гаджеты будут очень благодарны.

Некоторая информация о моей системе:

Я написал в своем приложении какой-то небольшой менеджер окон для дочерних окон. И в довершение всего я хочу показать виджеты в каком-то HostWindow.

Любая подсказка будет оценена.

P.S .: Я хотел бы поделиться результатами, если я (или мы) получим эту работу: -)

1 Ответ

1 голос
/ 01 июля 2011

Я никогда не видел библиотеку для размещения гаджетов, но, поскольку они в основном просто веб-сайты, вы можете использовать компонент MSHTML для размещения любого произвольного гаджета в теории.

Это не такСказать, что это будет легко.

Вам нужно будет извлечь гаджет во временный каталог, развернуть что-нибудь с MSHTML (в WinForms WebBrowser будет удобно), перейдите ксоответствующий файл в этом временном каталоге (обнаружен синтаксическим анализом gadget.xml ) и вставьте в гаджет нечто, похожее на объект System .

В качестве отправной точки введитенекоторому сценарию, который устанавливает System = window.external; onload и WebBrowerser.ObjectForScripting = new FakeGadgetSystem().

FakeGadgetSystem, потребуется [ComVisible(true)] и для реализации приличного количества материала.Я бы посоветовал взять один или два виджета для тестирования с помощью этого мягко упражнения Gadget API, а затем медленно реализовывать вызовы, которые они делают.Это будет долгий путь для 100% совместимости с официальным сервисом хостинга гаджетов.

...