Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.30;
Скачать: CL | DM;

Вниз

Как сделать пинг компьютера?   Найти похожие ветки 

 
kerrik ©   (2002-11-02 00:31) [0]

Как сделать пинг компьютера?


 
Пасечник ©   (2002-11-02 00:41) [1]

Библиотечка ICS...


 
Nikolas SHmuS   (2002-11-02 13:11) [2]

Вот пример!! вроде даже с этого ж сайта......

procedure TForm1.Button1Click(Sender: TObject);
var
hIP : THandle;
pingBuffer : array [0..31] of Char;
pIpe : ^icmp_echo_reply;
pHostEn : PHostEnt;
wVersionRequested : WORD;
lwsaData : WSAData;
error : DWORD;
destAddress : In_Addr;
begin

// Создаем handle
hIP := IcmpCreateFile();

GetMem( pIpe,
sizeof(icmp_echo_reply) + sizeof(pingBuffer));
pIpe.Data := @pingBuffer;
pIpe.DataSize := sizeof(pingBuffer);

wVersionRequested := MakeWord(1,1);
error := WSAStartup(wVersionRequested,lwsaData);
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to "+
"WSAStartup().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;

pHostEn := gethostbyname("delphi.mastak.com");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;

destAddress := PInAddr(pHostEn^.h_addr_list^)^;

// Посылаем ping-пакет
Memo1.Lines.Add("Pinging " +
pHostEn^.h_name+" ["+
inet_ntoa(destAddress)+"] "+
" with "+
IntToStr(sizeof(pingBuffer)) +
" bytes of data:");

IcmpSendEcho(hIP,
destAddress.S_addr,
@pingBuffer,
sizeof(pingBuffer),
Nil,
pIpe,
sizeof(icmp_echo_reply) + sizeof(pingBuffer),
5000);

error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to "+
"IcmpSendEcho()");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;

// Смотрим некоторые из вернувшихся данных
Memo1.Lines.Add("Reply from "+
IntToStr(LoByte(LoWord(pIpe^.Address)))+"."+
IntToStr(HiByte(LoWord(pIpe^.Address)))+"."+
IntToStr(LoByte(HiWord(pIpe^.Address)))+"."+
IntToStr(HiByte(HiWord(pIpe^.Address))));
Memo1.Lines.Add("Reply time: "+IntToStr(pIpe.RTTime)+" ms");

IcmpCloseHandle(hIP);
WSACleanup();
FreeMem(pIpe);
end;




Страницы: 1 вся ветка

Текущий архив: 2002.12.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
7-99369
Дуся
2002-10-23 13:35
2002.12.30
EStackOverflow


3-98991
skirdov
2002-12-10 12:52
2002.12.30
Компонент TSocketConnection


3-99022
Какрелин Артем
2002-12-11 10:17
2002.12.30
select count(*) при 6 лимонах записей??


1-99039
Кокандокало
2002-12-17 19:27
2002.12.30
Preloader


7-99389
LexusU
2002-10-25 11:44
2002.12.30
Отключение/перезагрузка компа в 2000/NT