procedure TForm1.Button1Click(Sender: TObject); begin WinExec('ping www.21cn.com',SW_SHOW); end; 如果说不通不显示什么。
使用Indy的ICMP控件,delphi6自带了的。看看delphi的ping的例子就明白了。
我正在使用IdIcmpClient控件, IdIcmpClient1.Host:=edit1.Text; IdIcmpClient1.Ping; if IdIcmpClient1.ReplyStatus.ReplyStatusType=rsTimeOut then showmessage('timeout') else showmessage('ok'); 但是我在对ReplyStatus的使用上还有些疑问,能仔细解释一下么?delphi带的没有详细的例子,你能给一个么?
说明一下:
function WinExec(lpCmdLine: LPCSTR; uCmdShow: UINT): UINT; stdcall;
uCmdShow可以是:
SW_HIDE 隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同
我调用WinExec('ping wwwserver1',SW_SHOW);之后返回的是调用WinExec是否成功的返回值,而我想要的是PING wwwserver1是否成功的返回值,不知道怎么得到?谢了
不要太菜呀!
看来是你没明白我的意思呀
我当然知道WWWSERVER1不是我要PING的东西,
我的意思是我要得到PING某一IP是否成功的返回信息呀
例如:WinExec('ping 202.196.146.187',SW_SHOW);不管202.196.146.187是否PING得通,返回值都是WinExec这个函数执行成功的返回值33,而我想得到的是PING 202.194.146.187是否通的返回值呀,
~~~说了这么罗嗦,也不知道大侠们听懂了没有
begin
WinExec('ping www.21cn.com',SW_SHOW);
end;
如果说不通不显示什么。
IdIcmpClient1.Host:=edit1.Text;
IdIcmpClient1.Ping;
if IdIcmpClient1.ReplyStatus.ReplyStatusType=rsTimeOut then
showmessage('timeout')
else showmessage('ok');
但是我在对ReplyStatus的使用上还有些疑问,能仔细解释一下么?delphi带的没有详细的例子,你能给一个么?