Comments 11
Можно ли как-то делать Skype.Attach(); если запущено несколько скайпов, к конкретному экземпляру?
Сейчас оно присоединяется к тому который был запущен последним, и елси запустить еще одну копию после того как присоединение уже было выполнено, произойдет переключение.
Сейчас оно присоединяется к тому который был запущен последним, и елси запустить еще одну копию после того как присоединение уже было выполнено, произойдет переключение.
Насколько я знаю, нельзя. Также я читал на оффициальном форуме Skype, что они не рекомендую запускать несколько экземпляров программы одновременно.
Нельзя так. Вообще библиотика очень странно работает когда два скайпа запущено.
Если эта проблема критична не пользоваться COM оболочкой. На самом деле это оболочка над низкоуровневым api. Оно позволяет с несколькоми скайпами и много че. developer.skype.com/public-api-reference
Как раз сейчас делаю интеграцию скайпа в своем проекте, поэтому заметил пару вещей.
— В методе Attach() лучше указывать второй параметр False. Метод с True или без параметра будет ждать 30 секунд и если не было ответа, то автоматически зафейлит аттач. Плюс метод вызывается синхронно, т.е. уи подвисает. Делаете Skype.Attach(9, false) и потом в обработчике AttachmentStatus уже получаете ответ, когда юзер нажмет «разрешить».
— По какой-то, непонятной мне, причине ивент CallStatus иногда вызывается несколько раз с одним и тем же статусом. Такое было мной замечано у статуса Ringing и Finished. Поэтому рекомендую сделать флаг, чтобы не обрабатывать тот же ивент второй раз.
— Skype.PlaceCall(pmessage.FromHandle); этот метод вылетить с эксепшеном если в данный момент вы уже имеете активный звонок. Советую сначала проверить Skype.ActiveCalls.
— В методе Attach() лучше указывать второй параметр False. Метод с True или без параметра будет ждать 30 секунд и если не было ответа, то автоматически зафейлит аттач. Плюс метод вызывается синхронно, т.е. уи подвисает. Делаете Skype.Attach(9, false) и потом в обработчике AttachmentStatus уже получаете ответ, когда юзер нажмет «разрешить».
— По какой-то, непонятной мне, причине ивент CallStatus иногда вызывается несколько раз с одним и тем же статусом. Такое было мной замечано у статуса Ringing и Finished. Поэтому рекомендую сделать флаг, чтобы не обрабатывать тот же ивент второй раз.
— Skype.PlaceCall(pmessage.FromHandle); этот метод вылетить с эксепшеном если в данный момент вы уже имеете активный звонок. Советую сначала проверить Skype.ActiveCalls.
а есть тоже самое, но для текста? чтоб можно выделить текст в сообщении и был показан его перевод, и можно было набрать текст на русском, а он бы перевел на английский.
Для не-программистов есть clownfish-translator.com/
регистрировать в системе COM длл-ку вовсе не обязательно… есть COM-free методики.
Sign up to leave a comment.
Автопереводчик через Skype