Как гаджет боковой панели Windows может взаимодействовать с моим настольным приложением?

У меня есть настольное приложение .NET 2.0 для Windows (табели учета рабочего времени), которое я разрабатываю, и я хотел добавить к нему интерфейс гаджета (чтобы приложение запускалось скрыто и управлялось через гаджет).

Как проще всего настроить связь моего гаджета с моим приложением?

У меня была идея иметь встроенный веб-сервер внутри приложения, а элементы управления гаджетом взаимодействуют с приложением с помощью ajax. Однако я надеюсь, что есть более простое решение.


person Muxa    schedule 18.10.2009    source источник


Ответы (2)


Вы не указали, с какой технологией написано гаджет и приложение, поэтому затрудняюсь ответить. Предполагая, что вы можете использовать .NET, WCF с привязкой к именованным каналам будет очень простым. Всего несколько строк кода для его настройки.

person nitzmahone    schedule 19.10.2009
comment
Спасибо за ответ. Да, я использую .NET (2.0), поэтому могу реализовать поддержку именованных каналов. Однако как мне использовать его с гаджета? Я быстро поискал и не нашел примеров. - person Muxa; 19.10.2009
comment
Нет ничего особенного в том, чтобы делать это с гаджета - просто введите в Google "пример именованных каналов WCF". Однако для получения WCF вам нужно будет использовать как минимум .NET 3.0 (вы можете создавать именованные каналы в 2.0 напрямую с помощью PInvoke, но это неприятно). - person nitzmahone; 20.10.2009

Мы используем API Win32 в элементе управления ActiveX одного из наших гаджетов для связи с другими экземплярами того же гаджета. К сожалению, я не могу дать вам код (потому что у меня нет разрешения и я не пишу материал .net), но он сводится к использованию окна (в вашем случае окна приложения) в качестве сервера и элемент управления ActiveX гаджета в качестве клиента и использовать SendMessage функция.

Вы можете увидеть пример использования COM-взаимодействия с гаджетами рабочего стола Windows по адресу http://www.codeproject.com/KB/gadgets/GadgetInterop.aspx

NB: убедитесь, что сборка взаимодействия находится в каталоге приложения, а НЕ в каталоге гаджета, иначе вы столкнетесь с проблемами при обновлении / удалении гаджета.

person Andy E    schedule 09.12.2009