把Ping命令可视化,用Delphi写成winForm窗口式的程序,一个可以单步执行的Delphi Ping命令操作程序源码,在框内输入IP地址,点击“执行Ping”按钮,将执行一次Ping命令,不能连续执行Ping操作,不过稍加改进就能做出类似Windows一样的Ping程序。try
if pReqData^ = pIPE^.Options.OptionsData^ then
begin
StatusShow.Lines.Add(PChar(PingEdit.Text) '-----'
IntToStr(pIPE^.DataSize) '-----' IntToStr(pIPE^.RTT));
end;
except
showmessage('没有找到Ip地址!');
end;
finally
FreeMem(pRevData);
FreeMem(pIPE);
end;
end
else
showmessage('请输入Ip地址');
end;
// 通过上面的编程,我们就实现了Ping功能的界面操作。实际上,ICMP协议的功能还
//有很多,都可以通过对Icmp.dll的函数调用来实现。
procedure TTMyPing.FormCreate(Sender: TObject);
var
hICMPdll: HMODULE;
begin // Load the icmp.dll stuff
WSAStartup(2,WSAData);
hICMPdll := LoadLibrary('icmp.dll');
@ICMPCreateFile := GetProcAddress(hICMPdll, 'IcmpCreateFile');
@IcmpCloseHandle := GetProcAddress(hICMPdll, 'IcmpCloseHandle');
@IcmpSendEcho := GetProcAddress(hICMPdll, 'IcmpSendEcho');
hICMP :=IcmpCreateFile;
StatusShow.Text := '';
StatusShow.Lines.Add('目的IP地址-----字节数----返回时间(毫秒)');
end;
// 接下来,就要进行如下所示的Ping操作的实际编程过程了。
1