Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
ВнизКак разорвать соединение с интернетом? Найти похожие ветки
← →
awenger (2002-12-14 06:16) [0]Собственно сабж :)
← →
Awenger (2002-12-14 06:18) [1]RasEnumConn...
RasHangUp...
,а кроме этого?
← →
Rouse_ (2002-12-14 06:24) [2]Набережных С. (21.03.02 20:49)
uses
windows;
procedure CloseConnections;
implementation
const
RAS_MaxDeviceType = 16;
RAS_MaxEntryName = 256;
RAS_MaxDeviceName = 128;
RASAPI = "rasapi32.dll";
type
THRasConn = Longint;
TRasConnState = Integer;
LPRasConn = ^TRasConn;
TRasConn = record
dwSize : Longint;
hrasconn : THRasConn;
szEntryName : Array[0..RAS_MaxEntryName] of AnsiChar;
szDeviceType : Array[0..RAS_MaxDeviceType] of AnsiChar;
szDeviceName : Array[0..RAS_MaxDeviceName] of AnsiChar;
end;
TRasConnStatus = record
dwSize : Longint;
rasconnstate : TRasConnState;
dwError : LongInt;
szDeviceType : Array[0..RAS_MaxDeviceType] of AnsiChar;
szDeviceName : Array[0..RAS_MaxDeviceName] of AnsiChar;
end;
function RasGetConnectStatus(hConn: THRasConn; var lpStatus: TRasConnStatus): Longint; stdcall;
external RASAPI name "RasGetConnectStatusA";
function RasEnumConnections(RasConnArray: LPRasConn; var lpcb: Longint; var lpcConnections: Longint): Longint; stdcall;
external RASAPI name "RasEnumConnectionsA";
function RasHangUp(hConn: THRasConn): Longint; stdcall;
external RASAPI name "RasHangUpA";
procedure CloseConnections;
var
Buf: array[0..15] of TRasConn;
n,aConn,aSize:integer;
St:TRasConnStatus;
begin
aSize:= SizeOf(Buf);
FillChar(Buf,aSize,0);
Buf[0].dwSize:=SizeOf(TRasConn);
n:=RasEnumConnections(@Buf[0],aSize,aConn);
if(n = 0)and(aConn > 0)then
while aConn > 0 do
begin
Dec(aConn);
RasHangUp(Buf[aConn].hrasconn);
while RasGetConnectStatus(Buf[aConn].hrasconn ,St) = 0 do
Sleep(0);
end;
end;
end.
На "Королевстве" есть статья "RasAPI для непродвинутых" или типа того.
Желаю успехов
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c