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

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

1.jpg

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