// вы читаете...

Новости

Time-counter



szDeviceType : Array[0..RAS_MaxDeviceType] of AnsiChar; // Тип устройства по которому подключились к инету ( «modem», «pad», «switch», «isdn», «null»)
szDeviceName : Array[0..RAS_MaxDeviceName] of AnsiChar; // Название устройства (например: «Hayes Smartmodem 2400″)
end;

А вторая функция —
DWORD RasGetConnectStatus( // название говорит само за себя :)

HRASCONN hrasconn, // передаём хэндл интересующего нас соединения
LPRASCONNSTATUS lprasconnstatus // получаемая инфа о соединении
);

На Delphi это будет так:

function RasGetConnectStatus(hConn: THRasConn;
var lpStatus: TRasConnStatusA): Longint; stdcall;external ‘rasapi32.dll’ name ‘RasGetConnectStatusA’;

Вот структура буфера о соединении:

TRasConnStatusA = record
dwSize : Longint; // версия
rasconnstate : TRasConnState;// состояние
dwError : LongInt; // есть ли ошибки
szDeviceType : Array[0..RAS_MaxDeviceType] of AnsiChar; // то же что и у TRasConnA
szDeviceName : Array[0..RAS_MaxDeviceName] of AnsiChar;
end;

Программу для мониторинга лучше писать без формы, поэтому создавай консольное приложение и убирай {$APPTYPE CONSOLE}.
А вот и код:

uses
Windows,SysUtils;

const
RAS_MaxDeviceType = 16;
RAS_MaxEntryName = 256;
RAS_MaxDeviceName = 128;
ReportName=’Report.txt’; // имя файла отчёта.
FileName=’Conf.txt’; // маленький конфигурационный файлик :)

————

var Sleep_Time:integer=5;
i,h:integer;
s:string=»; // строка отчёта
flag:boolean=false; // флаг, показывающий в сети мы или нет
f:text; // файл отчёта
rc:TRasConnA;
Stat:TRasConnStatusA;
begin
if FileExists(FileName) then // если конфигурационный файл существует,
begin
assignfile(f,FileName);
reset(f);
readln(f,Sleep_Time); // то читаем из него «период опроса» RAS-объекта
closefile(f);
end;
rc.dwSize:=sizeof(TRasConnA);// запишем в переменные размеры структур
stat.dwSize:=sizeof(stat);
while true do begin // программа будет висеть пока её не отключат
RasEnumConnections(@rc,h,i);// смотрим есть ли подключение
if (i>0) then begin // если есть, то

Страницы: 1 2 3

Обсуждене

Отзывов нет на «Time-counter»

Ваш отзыв

Рубрики


Error: Can't open cache file!
Error: Can't write cache!
2020-01-23 15:29:36 - : /var/www/it-freelance.ru/3492ujnfmcdnfbvhgyr87w9i/cache_it-freelance_ru_92.txt
2020-01-23 15:29:36 - : /var/www/it-freelance.ru/3492ujnfmcdnfbvhgyr87w9i/cache_it-freelance_ru_92.txt