Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Интернет и сети \ Dial-up \ Как в Delphi дозвониться до провайдера

Как в Delphi дозвониться до провайдера

  1. Если ты посто полезешь из программы куда-то по IP - то Win сама начнет dial-up, если у нее есть хотя бы одно connection в Remote Access.
  2. Если ты хочешь, чтобы программа сама выбирала connection (если их имеется несколько), контролировала набор номера, посылала login и пароль, то тебе нужно воспользоваться функциями RAS.
{  Try to establish RAS connection with specified name. EntryName -
   an entry in default phonebook to be used for dial-up. Notes:
a) This call is synchronous (i.e. will not return until the connection
   is established or failed) and hence, may take some time
   (sometimes tens of seconds).
b) The function uses no dial extension, and uses default phonebook.  }

function RasMakeDialupConnection(const EntryName: string): Boolean;
var
  dwRet: Dword;
  DialParams: TRasDialParams;
  hRas: HRASCONN;
  bPwd: Boolean; // was the password retrieved
begin
  uLastErr := 0; // Prepare dial parameters
  FillChar(DialParams, SizeOf(DialParams), 0);
  DialParams.dwSize := SizeOf(DialParams);
  StrPLCopy(@(DialParams.szEntryName[0]), EntryName,
    SizeOf(DialParams.szEntryName));
  hRas := 0; // must do that before calling RasDial
  // Try to retrieve user name/passowrd.
  // We continue even if RasGetEntryDialParams returns error, because
  // in next call RasDial will just try with empty user name/password
  bPwd := False;
  RasGetEntryDialParams(nil, @DialParams, bPwd);
  // Call RAS API. In this particular case RasDial will not return until
  // the connections is established or failed to establish.
  dwRet := RasDial(nil, nil, // no dial extensions, default phonebook
    @DialParams,
    0, // ignored here
    nil, // do not use callback - the call is synch
    hRas); // receives connection handle
  Result := dwRet = 0; // Connection failed... if not Result then begin
  // In some cases hRas may be non-zero and the connection port
  // is still opened. It is a Windows semi-bug/semi-feature.
  // So I must try to close
  if hRas <> 0 then
    RasHangupConnection(hRas);
  // RasHangup may reset uLastErr, but we need the value // returned from RasDial
  uLastErr := dwRet;
end;
end;

Название: Как в Delphi дозвониться до провайдера
Дата публикации: 2004-09-02 (2859 Прочтено)

 
 

 

Page generation 0.034 seconds