Исходники для звонка с модема

Тема в разделе "WASM.BEGINNERS", создана пользователем Vituskosoy, 18 окт 2010.

  1. Vituskosoy

    Vituskosoy New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2009
    Сообщения:
    18
    Подкиньте пожалуйста простенький код для звонка с модема, чтобы вставить его в готовую программу. Требуется только голосовой вызов (команды ATD и ATH)... если можно, то на с++.
     
  2. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
  3. Vituskosoy

    Vituskosoy New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2009
    Сообщения:
    18
    XshStasX, спасибо получил следующее (может кому пригодится):
    Код (Text):
    1. #include <stdio.h>
    2. #include <windows.h>
    3.  
    4. int main(int argc, char* argv[])
    5. {
    6.  
    7.     char    ComPort[] = "\\\\.\\COM17";
    8.     HANDLE hCommPort;
    9.  
    10.     printf("Modem test dialer\n");
    11.  
    12.     //Открытие порта
    13.     hCommPort = CreateFile(ComPort, GENERIC_READ | GENERIC_WRITE,
    14.         0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
    15.  
    16.     if (hCommPort==INVALID_HANDLE_VALUE) {
    17.         printf("Error open port %s \n", &ComPort[4]);
    18.         return 1;
    19.     }
    20.  
    21.     OVERLAPPED ov;
    22.     ZeroMemory( &ov , sizeof( OVERLAPPED )) ;
    23.     DWORD   nb;
    24.  
    25.     char    *command[] = {      //каждая АТ команда должна заканчиваться символом кодом 13
    26.                 "ATE1\r",
    27.                 "ATZ\r",
    28.                 "ATD+380951234567;\r",
    29.                 "ATH\r",
    30.                 "AT+CHUP\r"
    31.             };
    32.  
    33.     for (int i=0;i<5;i++) {
    34.         nb=1;
    35.         printf("sending %s\n", command[i]);
    36.         WriteFile(hCommPort, command[i], strlen(command[i]), &nb, &ov); //пишем в порт данные
    37.         Sleep(1000);
    38.     }
    39.     CloseHandle(hCommPort);             //закрываем порт
    40.     return 0;
    41. }