C# получить номер телефона входящего звонка
C# получить номер телефона входящего звонка
всем привет, есть стационарный телефон, подключенный через четырехканальный адаптер SpRecord AT4 к ПК по USB, как поймать момент входящего вызова и номер телефона входящего вызова? желательно на C#
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: C# получить номер телефона входящего звонка
Вам нужно использовать COM-объект. Документация и примеры (к сожалению, без С#) есть в SDK.
Re: C# получить номер телефона входящего звонка
я не нашел в SDK что-то, что может определить входящий номер телефона, может, этого функционала там вообще нет?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: C# получить номер телефона входящего звонка
Есть событие о появлении АОНа: SPR_MSG_ANI_DETECT от интерфейса ISpRecordClientW и SPR_MSG_C_ANI_DETECT от ISpRecordChannelClientW.
Re: C# получить номер телефона входящего звонка
подскажите, пожалуйста, с чего начать? я нашел на Вашем форуме следующий код C#:
Для того, чтобы данный код сработал, на машине должна быть запущена программа SpRecord?
И таким образом я получу экземпляр объекта, реализующего интерфейс SpRecordClientW?
Как подписаться на событие SPR_MSG_ANI_DETECT?
Код: Выделить всё
// get type of class SpRecordClientW
Type SpRecordClientW = Type.GetTypeFromProgID("spsdksw.SpRecordClientW");
// create instance of class SpRecordClientW
object SpRecordClientWInstance = Activator.CreateInstance(SpRecordClientW);
И таким образом я получу экземпляр объекта, реализующего интерфейс SpRecordClientW?
Как подписаться на событие SPR_MSG_ANI_DETECT?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: C# получить номер телефона входящего звонка
1) Программа SpRecord должна быть установлена на компе.
2) События можно мониторить в цикле через методы WaitMessage и PeekMessage
2) События можно мониторить в цикле через методы WaitMessage и PeekMessage
Re: C# получить номер телефона входящего звонка
Спасибо большое! Я так понимаю, мне нужно вызвать WaitMessage(-1), каким-то образом фильтровать все события и отлавливать только SPR_MSG_ANI_DETECT или SPR_MSG_C_ANI_DETECT, потом через PeekMessage вытаскивать информацию? И в этой информации я смогу получить номер входящего звонка?
Re: C# получить номер телефона входящего звонка
а в каком виде приходит информация? прошу прощения, я совсем не знаком с С++. как мне её обработать можно на C#? и еще, если у меня 4-канальный адаптер, то для того, чтобы получать уведомления от всех 4 каналов, мне лучше использовать событие SPR_MSG_C_ANI_DETECT?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: C# получить номер телефона входящего звонка
В СДК вы найдете описание всех сообщений и их содержимое. Что вам лучше использовать - вам решать.
Re: C# получить номер телефона входящего звонка
spsdksw это библиотека spsdksw.dll? я пишу следующий код:
и мой полученный объект SpRecordClientW равен null, т.е. пустой. На ПК запущена SpRecord Версия 3.100
Такое ощущение, будто эта библиотека spsdksw.dll не загружена в памяти
В редакторе реестра по пути HKEY_LOCAL_MACHINE\SOFTWARE\Classes есть такой ключ (на картинке)
Код: Выделить всё
Type SpRecordClientW = Type.GetTypeFromProgID("spsdksw.ISpRecordChannelClientW");
Такое ощущение, будто эта библиотека spsdksw.dll не загружена в памяти
В редакторе реестра по пути HKEY_LOCAL_MACHINE\SOFTWARE\Classes есть такой ключ (на картинке)
- Вложения
-
- IMG_10052018_174221_0.jpg (18.02 КБ) 9445 просмотров
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: C# получить номер телефона входящего звонка
Это обычный СОМ-объект. Для его инициализации смотрите общее описание по работе с СОМ-объектами на вашем языке. Более добавить не могу, т.к. нет опыта в C#
Re: C# получить номер телефона входящего звонка
Если еще актуально, напиши мне, у меня есть реализация на C#.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: C# получить номер телефона входящего звонка
Это может понадобится другим. Выложите код здесь и/или на гитхабе, например.