Форум: "Сети";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизPPPoE соединение Найти похожие ветки
← →
NiGGa © (2006-11-20 19:57) [0]Доброго времени суток.
Вопросов собственно два:
1. Как определить под каким логином я подключен.
2. Как отключить(оборвать) соединение.
Спасибо
← →
NiGGa © (2006-11-21 12:46) [1]Не нужно готовых решений) Подскажите, в каком направлении копать.
← →
Alexander_K © (2006-11-22 15:20) [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-26 18:45) [3]Спасибо
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c