Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DialUp соединение на C++Builder, как дозвониться из под C++Builder 
:(
    Опции темы
Trash_s
Дата 15.7.2002, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Есть задача и выбрано средство разработки (C++ Builder 5).
Помогите дозвониться - установить "Удаленное соединение"
и закрыть его любым способом, но программно.
PM MAIL   Вверх
Vyacheslav
Дата 18.7.2002, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Меню Help -> Windows SDK Набираешь RasDial и смотришь.
Ну и пример . Может немного поможет. Реализация  метода Dial в моем компоненте TRasDial

void fastcall TpmRasDial::Dial(TComponent* Control)
{
     //TODO: Add your source code here
     HangUp();
     FControl = dynamic_cast<TWinControl*>(Control);
     if (!FControl)
       throw(Exception("         Owner is not WinControl component.\n"
                       "Use Dial(TComponent*) and WinControl component as parmeter"));
     if (!ComponentState.Contains(csDesigning))
     {
       ControlWndProc = FControl->WindowProc;
       FControl->WindowProc = WndProc;
     }
     if (WM_RASDIAL == 0)
     {
       WM_RASDIAL =  RegisterWindowMessageA( RASDIALEVENT );
       if (TpmRasDial::WM_RASDIAL == 0)  TpmRasDial::WM_RASDIAL = WM_RASDIALEVENT;
     }
     RASDIALPARAMS   RasDialParam;
     ZeroMemory((void*)&RasDialParam,sizeof(RASDIALPARAMS));
     strcpy(RasDialParam.szEntryName, ConnectionName.c_str());
     FillPhoneNumber(&RasDialParam);
     FillCallbackNumber(&RasDialParam);
     FillUserName(&RasDialParam);
     FillPassword(&RasDialParam);
     FillDomain(&RasDialParam);
     RasDialParam.dwSize=sizeof(RASDIALPARAMS);
     RasDial(NULL,NULL,&RasDialParam,0xFFFFFFFF,
              dynamic_cast<TWinControl*>(FControl)->Handle ,
              &FRasConn);
}

и HangUp

void fastcall TpmRasDial::HangUp(void)
{
    //TODO: Add your source code here
    if(FRasConn)
    {
     RASCONNSTATUS RasConnStatus;
     ZeroMemory((void*)&RasConnStatus,sizeof(RASCONNSTATUS));
     RasConnStatus.dwSize=sizeof(RASCONNSTATUS);
     ::RasHangUp(FRasConn);
     //while(RasGetConnectStatus(FRasConn,&RasConnStatus)!=ERROR_INVALID_HANDLE)
     Application->ProcessMessages();
     FRasConn=NULL;
     if ( !ComponentState.Contains(csDesigning) &&
          FControl &&
          ControlWndProc &&
          FControl->WindowProc == WndProc)
     {
      FControl->WindowProc = ControlWndProc;
      FControl = NULL;
      ControlWndProc = NULL;
     }
    }
}

Если не очень торопишься, после выходных могу выслать компонент




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Trash_s
Дата 22.7.2002, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



С дозвоном примерно разобрался, но опять прошу о подсказке,
где и как можно выбрать модем.

И, Vyacheslav, если не в напряг, вышли компонент.
PM MAIL   Вверх
NetBird
Дата 22.7.2002, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.7.2002

Репутация: нет
Всего: нет



А может кто попутно раскажет как програмно запустить сервак удаленного доступа, и есть ли API финкции для работы с ним?
PM MAIL   Вверх
Vyacheslav
Дата 24.7.2002, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(Trash_s @ 22.7.2002, 17:23)
С дозвоном примерно разобрался, но опять прошу о подсказке,
где и как можно выбрать модем.

В общем случае модем задается в соединении. Выбрав соединение автоматически выбирается модем.
Цитата

И, Vyacheslav, если не в напряг, вышли компонент.

[/QUOTE]
С компонентом небольшая задержка. Для  С++Builder 6 готов и демо сделал. Для С++Builder 5 внес изменения и не успел проверить. И хелп не готов.


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 24.7.2002, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(NetBird @ 22.7.2002, 19:48)
А может кто попутно раскажет как програмно запустить сервак удаленного доступа, и есть ли API финкции для работы с ним?

Здесь проект запуска-останова сервера


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Trash_s
Дата 25.7.2002, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Цитата(Vyacheslav @ 24.7.2002, 14:05)
[quote=Trash_s,22.7.2002,17:23]В общем случае модем задается в соединении. Выбрав соединение автоматически выбирается модем.

[quote=Trash_s,22.7.2002,17:23]В общем случае модем задается в соединении. Выбрав соединение автоматически выбирается модем.

Я не не совсем точно сформулировал вопрос. В общем случае понятно, но использовать соединение неудобно и нежелательно. Хотелось бы в программе задать параметры - телефон, префиксы, тоновый/импульсный, логин, громкость спикера... и выбрать модем, и прога дозванивается.
PM MAIL   Вверх
Vyacheslav
Дата 26.7.2002, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Параметры - телефон, префиксы, тоновый/импульсный, логин и пароль - могут задаваться через RasDial. При этом уже неважно, какие они были у соединения.
Если имя соединения в параметрерах не задано, дозваниваться будет по первому в списке модемному Com - порту.


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
NetBird
Дата 27.7.2002, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.7.2002

Репутация: нет
Всего: нет



Большое спасибо Вячеслав за ссылку ! :)
PM MAIL   Вверх
Vyacheslav
Дата 5.8.2002, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(Trash_s @ 22.7.2002, 09:23)
И, Vyacheslav, если не в напряг, вышли компонент.

Для С++Builder 5 выложил компонет TRasDial с демопримером на bcdev.narod.ru. Хелп та к и не сделал :(.
Версия для С++Builder 6 будет чуть позже. Если будут какие либо трудности - сообщи


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Гость_Виктор
Дата 2.7.2004, 13:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Vyacheslav

я написал программку для соединения через Dial-Up
все программки задаются в программе... и пашет в 98
а попробовали в XP она ломится узнать какое соединение исп.
хотя все параметры я переопределяю....
а потом говорит что неправельный пароль и логин

Login = UserName;
Pass = Password;
strcpy(params.szEntryName, ""); //PBEntry.c_str());
strcpy(params.szPhoneNumber, phNum.c_str());
strcpy(params.szCallbackNumber, "");
strcpy(params.szUserName, Login.c_str());
strcpy(params.szPassword, Pass.c_str());
strcpy(params.szDomain, "*");
params.dwSize = sizeof(params);

// Dial.
DWORD res = fRasDial(0, 0, &params, 1, RasCallback, &hRas);

как видите я не использую PBEntry.c_str()

что сделать? подскажите пожалуйста.

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.