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

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

Разорвать соединение [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;


Наверх

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