Текущий архив: 2003.06.05;
Скачать: CL | DM;
Вниз
Как определить, что Dial-up соединение уже установлено? Найти похожие ветки
← →
Puzzle (2003-04-02 12:32) [0]Мастера, подскажите пожалуйста, как при старте программы определить, что Dial-up соединение уже установлено?
Использую компонент TMagRasCon.
← →
wal (2003-04-02 12:57) [1]RasEnumConnections
← →
Puzzle (2003-04-02 13:38) [2]> wal, я в общем-то так и думал, но как пользоваться этой функцией не подскажешь? Если не трудно, напиши небольшой примерчик.
← →
wal (2003-04-02 23:26) [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;
← →
Ruf (2003-04-03 14:56) [4]Это конечно бред, но можно проверить соединение с инетом, те
открыть какай-нибудь URL
← →
Jel (2003-04-03 15:33) [5]Вот кусок из работающего проекта.
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;
Страницы: 1 вся ветка
Текущий архив: 2003.06.05;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c