Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Звонилка

389
17 июля 2004 года
Dmitri
69 / / 20.08.2000
Пишу звонилку. Есть вопросы:

1) Как регулировать громкость соединения? (В Control Panel не то)

2) Как иметь контроль за соединением, пока она звонит? Application->ProcessMessages() не помогает. И пока программа не дозвонится, она подвисает.

Код:
RASDIALPARAMS rasParam={0};
hRas=NULL;
rasParam.dwSize=sizeof(RASDIALPARAMS);

  lstrcpyn(rasParam.szPhoneNumber,edTel->Text.c_str(),sizeof(rasParam.szPhoneNumber));
  lstrcpyn(rasParam.szUserName,edLogin->Text.c_str(),sizeof(rasParam.szUserName));
  lstrcpyn(rasParam.szPassword,edPass->Text.c_str(),sizeof(rasParam.szPassword));


  DWORD dwRetCode=RasDial(NULL,NULL,&rasParam,NULL,NULL,&hRas);

  if(dwRetCode!=0) {
    char szBuff[256];
    if(RasGetErrorString((UINT)dwRetCode,(LPSTR)szBuff,256)!=0)
      Application->MessageBox("Unindefined error","RAS Error",MB_OK|MB_ICONERROR);
    Application->MessageBox(szBuff,"RAS Error",MB_OK|MB_ICONERROR);
  }
8.2K
18 июля 2004 года
eSDee
3 / / 18.07.2004
:!!!: Попробь с AT-командами поработать.
A Команда ответа (Answer Command)
Bn Настройка связи (Communications Options)
D Команда набора (Dial Command)
En Команда выбора символа эха (Select Command Character Echo Option)
Hn Управление Switchhook - эмуляция нажатия телефонного рычага (Control The Switchhook)
I0 Идентификация кода продукта (Identify The Product Code)
I2 Выполнение теста контрольной суммы ROM ( Perform ROM Checksum Test)
I7 Номер версии (Version Number)
Ln Выбор уровня громкости динамика (Select Speaker Volume Level)
Mn Функция выбора опций динамика (Select Speaker Function Option)
Nn Выбор опций для установления связи (Select Negotiate Handshake Option)
On Переход к онлайновым командам (Go Online Command)
P Выбор метода пульсового набора (Select Pulse Dialing Method)
Qn Выбор опции результирующего кода (Select Result Code Option)
Sn= Запись в S-регистр (Write To An S-Register)
Sn? Чтение S-регистра (Read An S-Register)
T Выбор метода тонового набора (Select Tone Dialing Method)
Vn Выбор опции формата ответа (Select Response Format Option)
Wn Выбор расширенного результирующего кода (Select Extended Result Code)
Xn Выбор опции модемного вызова (Select Call Progress Option)
Yn Выбор опции бездействия для разъединения (Select Long Space Disconnect Option)
Zn Выполнение мягкого сброса (Perform Soft Reset)
&An Выбор роли автоответчика (Select Originate/Answer Role For Autoanswer)
&Cn Выбор опции определения передаваемых данных (Select Data Carrier Detect Option)
&Dn Выбор опции готовности терминала данных (Select Data Terminal Ready Option)
&F Загрузка заводских установок (Load Factory Default Profile)
&Gn Выбор опции защиты тонового набора (Select Guard Tone Option)
&Kn Выбор опций потока ConTDol (Select Flow ConTDol Option)
&Pn Выбор параметров пульсового набора (Select Pulse Dialing Parameters)
&Qn Выбор опций режима связи (Select Communications Mode Option)
&Rn Выбор опций RTS/CTS (Select RTS/CTS Option)
&Sn Выбор опций готовности передачи данных (Select Data Set Ready Option)
&T0 Тест завершения в процессе (Terminate Test In Process)
&T1 Инициирование локального аналога сетевой петли (Initiate Local Analog Loopback)
&T3 Выполнение локальной цифровой сетевой петли (Perform Local Digital Loopback)
&T4 Включение предоставления RDL-запросов (Enable Granting Of RDL Requests)
&T5 Запрет предоставления RDL-запросов (Deny Granting Of RDL Requests)
&T6 Инициирование удаленной цифровой сетевой петли (Initiate Remote Digital Loopback)
&T7 Иниицирование внутреннего теста RDL (Initiate RDL With Self Test)
&T8 Внутренний тест локальной сетевой петли (Local Loopback With Self Test)
&T19 Выполнение теста RTS/CTS кабеля (Perform RTS/CTS Cable Test)
&Un Отмена TDellis кодирования (Disable TDellis Coding)
&V Просмотр профилей конфигурации (View Configuration Profiles)
&Wn Сохранение активного профиля (Store Active Profile)
&Xn Выбор источника синхронизации времени TDansmit (Store Active Profile)
&Yn Выбор сохранения профиля для аппаратного перезапуска (Select Stored Profile For Hard Reset)
&Zn= Сохранение телефонного номера (Store Telephone Number)
, Пауза (Perform Pause)
= Запись в S-регистр (Write To An S-Register)
? Чтение S-регистра (Read An S-Register)
P Выбор пульсового набора (Select Pulse Dialing)
Т Тоновый набор (Tone)
8.2K
18 июля 2004 года
eSDee
3 / / 18.07.2004
Цитата:
Originally posted by Dmitri
Пишу звонилку. Есть вопросы:

1) Как регулировать громкость соединения? (В Control Panel не то)

2) Как иметь контроль за соединением, пока она звонит? Application->ProcessMessages() не помогает. И пока программа не дозвонится, она подвисает.

Код:
RASDIALPARAMS rasParam={0};
hRas=NULL;
rasParam.dwSize=sizeof(RASDIALPARAMS);

  lstrcpyn(rasParam.szPhoneNumber,edTel->Text.c_str(),sizeof(rasParam.szPhoneNumber));
  lstrcpyn(rasParam.szUserName,edLogin->Text.c_str(),sizeof(rasParam.szUserName));
  lstrcpyn(rasParam.szPassword,edPass->Text.c_str(),sizeof(rasParam.szPassword));


  DWORD dwRetCode=RasDial(NULL,NULL,&rasParam,NULL,NULL,&hRas);

  if(dwRetCode!=0) {
    char szBuff[256];
    if(RasGetErrorString((UINT)dwRetCode,(LPSTR)szBuff,256)!=0)
      Application->MessageBox("Unindefined error","RAS Error",MB_OK|MB_ICONERROR);
    Application->MessageBox(szBuff,"RAS Error",MB_OK|MB_ICONERROR);
  }



:} На мой взгляд тебе нада с AT-командами поработать!

323
18 июля 2004 года
Sergun
228 / / 20.09.2000
а для каких именно целей твоя звонила? для дозвона до провайдера интернет?
12K
08 января 2006 года
chrono
34 / / 03.01.2006
Пожалуйста, скинте исходник звонилки,
а то очень много времени уходит, чтобы приконнектица...
Встроенной в винду не объяснишь, что
"Если не получается дозвонится в течении 30сек, до дальнейший дозвон бессмыслен."
Пожалуйста! помогите а то музыку модема устал уже слушать...
1
08 января 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Dmitri
Пишу звонилку. Есть вопросы:

1) Как регулировать громкость соединения? (В Control Panel не то)

2) Как иметь контроль за соединением, пока она звонит? Application->ProcessMessages() не помогает. И пока программа не дозвонится, она подвисает.

Код:
RASDIALPARAMS rasParam={0};
hRas=NULL;
rasParam.dwSize=sizeof(RASDIALPARAMS);

  lstrcpyn(rasParam.szPhoneNumber,edTel->Text.c_str(),sizeof(rasParam.szPhoneNumber));
  lstrcpyn(rasParam.szUserName,edLogin->Text.c_str(),sizeof(rasParam.szUserName));
  lstrcpyn(rasParam.szPassword,edPass->Text.c_str(),sizeof(rasParam.szPassword));


  DWORD dwRetCode=RasDial(NULL,NULL,&rasParam,NULL,NULL,&hRas);

  if(dwRetCode!=0) {
    char szBuff[256];
    if(RasGetErrorString((UINT)dwRetCode,(LPSTR)szBuff,256)!=0)
      Application->MessageBox("Unindefined error","RAS Error",MB_OK|MB_ICONERROR);
    Application->MessageBox(szBuff,"RAS Error",MB_OK|MB_ICONERROR);
  }


Не знаю как на счет громкости - такие задачи решать не приходилось - а для того что бы прога не завешивалась в функции RasDial есть параметр dwNotifierType и lpvNotifier. У тебя они установлены в NULL - а зря. Первый указывает какого типа функция будет использоваться для обработки событий дозвона, а втрой - собственно указатель на функцию. Если первый параметр имеет значение 0xFFFFFFFF - то значит второй содержит хендлер окна, которое будет обрабатывать сообщения. Если первый параметр 0 - значит второй - указатель на функцию RasDialFunc,если первый параметр 1 - значит второй - указатель на функцию RasDialFunc1,если первый параметр 2 - значит второй - указатель на функцию RasDialFunc2.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог