Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2010, 14:04   #1
Бутаков_Сергей
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 55
Вопрос Разъединение интернета

Всем привет
Подскажите Pleas, как на Delphi разъединить интернет.
Источником интернета является сервер работающий на Linux'e
Бутаков_Сергей вне форума Ответить с цитированием
Старый 09.04.2010, 15:48   #2
Бутаков_Сергей
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 55
По умолчанию

Я так понимаю что ни кто не знает как это делается.
Вот пример, который я нашел. Может кому нибудь и понадобится.

Код:
type
  TRasConn = record
    Size: DWORD;
    Handle: THandle;
    Name: array[0..20] of AnsiChar;
  end;

  TRasEnumConnections = function(var RasConn: TRasConn; var Size: DWORD;
    var Connections: DWORD): DWORD stdcall;
  TRasHangUp = function(Handle: THandle): DWORD stdcall;

function DisconnectDialUp: Boolean;
var
  Lib: HINST;
  RasEnumConnections: TRasEnumConnections;
  RasHangUp: TRasHangUp;
  RasConn: TRasConn;
  Code, Size, Connections: DWORD;
begin
  Result := True;
  try
    Lib := LoadLibrary('rasapi32.dll');
    try
      if Lib = 0 then
        Abort;
      RasEnumConnections := GetProcAddress(Lib, 'RasEnumConnectionsA');
      if not Assigned(@RasEnumConnections) then
        Abort;
      RasHangUp := GetProcAddress(Lib, 'RasHangUpA');
      if not Assigned(@RasHangUp) then
        Abort;
      FillChar(RasConn, SizeOf(RasConn), 0);
      RasConn.Size := SizeOf(RasConn);
      Code := RasEnumConnections(RasConn, Size, Connections);
      if (Connections <> 1) or (Code <> 0) then
        Abort;
      if RasHangUp(RasConn.Handle) <> 0 then
        Abort;
      Sleep(3000);
    finally
      FreeLibrary(Lib);
    end;
  except
    on E: EAbort do
      Result := False;
  else
    raise;
  end;
end;
Бутаков_Сергей вне форума Ответить с цитированием
Старый 09.04.2010, 15:57   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ну, почему-же... данный способ известен и выкладывался ...возможно была не понята (или истолкована) ваша фраза про delphi и Linux ...возможно фраза про линукс вообще была лишней
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сокрость интернета beegl Работа с сетью в Delphi 5 03.03.2012 15:24
Погода из интернета _SatanA_ Фриланс 12 09.03.2010 17:20
Перезагрузка интернета Nice42ru Помощь студентам 3 05.01.2010 22:49
Траффик интернета masterdela Работа с сетью в Delphi 3 14.01.2009 21:50
Настройка интернета GAGARIN-NEW Компьютерное железо 0 08.10.2008 21:19