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

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

Как определить, что Dial-up соединение уже установлено? [D5, Win2k]


Puzzle ©   (2003-04-02 12:32:00) 

Мастера, подскажите пожалуйста, как при старте программы определить, что Dial-up соединение уже установлено?
Использую компонент TMagRasCon.


Jel   (2003-04-03 15:33:00) [1]

Вот кусок из работающего проекта.


function TForm1.CheckConnection(EntryName: string): boolean;
var
ConnectionList : array [0..7] of TRasConn;
CLSize, i, CLCount : integer;
Res : boolean;
s : string;
RCS : TRasConnStatus;
begin
ConnectionList[0].dwSize := SizeOf(TRasConn);
CLSize := SizeOf(TRasConn) * 8;
if RasEnumConnections(@ConnectionList[0], CLSize, CLCount) = 0 then begin
res := false;
for i := 0 to CLCount - 1 do begin
s := ConnectionList[i].szEntryName;
if UpperCase(s) = UpperCase(EntryName) then begin
ZeroMemory(@RCS, SizeOf(RCS));
RCS.dwSize := SizeOf(RCS);
RasGetConnectStatus(ConnectionList[i].hrasconn, RCS);
if RCS.rasconnstate = RASCS_CONNECTED then res := true;
end;
end;
Result := res;
end else Result := false;
end;


Ruf   (2003-04-03 14:56:00) [2]

Это конечно бред, но можно проверить соединение с инетом, те
открыть какай-нибудь URL


wal   (2003-04-02 23:26:00) [3]

Дык ...
В хелпе же все русским по белому написано (правда по аглицки, но это мелочи).

// Создаешь массив
var a:array[0..0]of RASCONN; //[0..0] - сугубо для примера
// Пару даблвордов
i,j:DWORD;
begin
i:=SizeOf(a);
a[0].dwSize:=SizeOf(RASCONN);
if (RasEnumConnections(@a,i,j)=0)and(j>0) then
begin
// Вот тут-то мы и выяснили, что у нас существует соединение
end;
end;


Puzzle   (2003-04-02 13:38:00) [4]

> wal, я в общем-то так и думал, но как пользоваться этой функцией не подскажешь? Если не трудно, напиши небольшой примерчик.


wal   (2003-04-02 12:57:00) [5]

RasEnumConnections


Наверх

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