Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№102-08-2011 10:52:59

stanislav-loe
Участник
 
Группа: Members
Зарегистрирован: 02-08-2011
Сообщений: 2
UA: Foxware 0.0

Расширение.Взаимодействие с внешней программой

Здравствуйте. Необходимо сделать плагин(расширение) для web-браузера.
Плагин должен взаимодействовать с windows программой.
Суть такая - в браузере рядом с каждым текстовым полем должна быть кнопка. При ее нажатии в текстовое поле должны попадать данные из windows программы.
То есть плагин наподобии skype- когда все телефонные номера обрамляются в значок skype,и можно сделать вызов.
Vksaver тоже подобное решение- когда на сайте vkontakte.ru появляется кнопка "S" сохранить,напротив аудио/видео файлов .

Отсутствует

 

№202-08-2011 15:28:03

stanislav-loe
Участник
 
Группа: Members
Зарегистрирован: 02-08-2011
Сообщений: 2
UA: Foxware 0.0

Re: Расширение.Взаимодействие с внешней программой

Может подскажите как сделать в контекстном меню браузера дополнительный пункт,при нажатии на который данные бы копировались из внешней программы?

1.jpg

Отсутствует

 

№303-08-2011 06:31:05

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 6.0

Re: Расширение.Взаимодействие с внешней программой

Внешняя программа в любом случае должна как-то предоставлять требуемые данные. Самый правильный способ в данном случае - использовать RPC. Способов реализации RPC достаточно много, но при этом программа, предоставляющая данные, должна прежде всего предоставлять открытый внешний RPC-интерфейс. Более костыльный вариант - взаимодействие через window message loop & hooks - нужно будет реализовать отсылку оконных сообщений в полудуплексном режиме, и хуки на обработку этих сообщений в каждой программе (в программе, предоставляющей данные, и в FF). Если в первом случае можно будет обойтись только ctypes и синхронными вызовами, то во втором случае понадобится реализовывать XPCOM-компонент и асинхронную работу (через nsIObserverService, например). И первый, и второй варианты надо будет реализовывать на C/C++.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]