![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разорвать соединение [D6, Win95/98]
KoLoB © (2003-12-20 20:01:00)Как разорвать Dial-up соединение установленное любой программой (не стандартной виндовсой звонилкой). В общем как Outlook Express
kor@l (2004-01-24 19:54:00) [1]Гляди сюда:
cmd := 'open';
fil := 'rasdial.exe';
par := PChar('Имя соед.' + ' /DISCONNECT');
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
Бином Ньютоныч (2003-12-21 09:34:00) [2]
procedure CloseRasConnections;
var
Connections: array[0..15] of TRasConn;
Size, Count, Res, Res2, n: integer;
Status: TRasConnStatus;
begin
Connections[0].dwSize:=SizeOf(TRasConn);
Size:=SizeOf(Connections);
Res:=RasEnumConnections(@Connections, Size, Count);
if (Res = 0) or (Res = ERROR_BUFFER_TOO_SMALL) then
begin
for n:=0 to Pred(Count) do
begin
Res2:=RasHangUp(Connections[n].hrasconn);
Status.dwSize:=SizeOf(Status);
if Res2 = 0 then
while
RasGetConnectStatus(Connections[n].hrasconn, Status) <> ERROR_INVALID_HANDLE
do
Sleep(0)
else begin
SetLastError(Res2);
RaiseLastOSError;
end;
end;
if Res = ERROR_BUFFER_TOO_SMALL then CloseRasConnections;
end else
begin
SetLastError(Res);
RaiseLastOSError;
end;
end;