Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PPPoE соединение [D5, D7, Win2k, WinXP]


NiGGa ©   (2006-11-20 19:57:00) 

Доброго времени суток.

Вопросов собственно два:
1. Как определить под каким логином я подключен.
2. Как отключить(оборвать) соединение.

Спасибо


NiGGa   (2006-11-26 18:45:00) [1]

Спасибо


Alexander_K   (2006-11-22 15:20:00) [2]

Разорвать соединение, код скопирован откуда-то из интернета, ссылки не помню....
Может чего и накопаешь...

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;
Пример использования:
if DisconnectDialUp = true then
 ShowMessage('Соединение разорвано')
else
 ShowMessage('Не удалось разорвать соединение');


NiGGa   (2006-11-21 12:46:00) [3]

Не нужно готовых решений) Подскажите, в каком направлении копать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо