如何在DELPHI里调用PING,并取得返回的结果,急等,先谢了

解决方案 »

  1.   

    WinExec('ping wwwserver1',SW_SHOW);
    说明一下:
    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相同 
      

  2.   

    我调用WinExec('ping wwwserver1',SW_SHOW);之后,不管有没有PING通,怎么返回值都是33?没法区分PING没PING通呀
      

  3.   

    补充:
    我调用WinExec('ping wwwserver1',SW_SHOW);之后返回的是调用WinExec是否成功的返回值,而我想要的是PING wwwserver1是否成功的返回值,不知道怎么得到?谢了
      

  4.   

    wwwserver1是我的机器名,你难道不会ping你自己的机器?
    不要太菜呀!
      

  5.   

    晕~~~
    看来是你没明白我的意思呀
    我当然知道WWWSERVER1不是我要PING的东西,
    我的意思是我要得到PING某一IP是否成功的返回信息呀
    例如:WinExec('ping 202.196.146.187',SW_SHOW);不管202.196.146.187是否PING得通,返回值都是WinExec这个函数执行成功的返回值33,而我想得到的是PING 202.194.146.187是否通的返回值呀,
    ~~~说了这么罗嗦,也不知道大侠们听懂了没有
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       WinExec('ping www.21cn.com',SW_SHOW);
    end;
    如果说不通不显示什么。
      

  7.   

    使用Indy的ICMP控件,delphi6自带了的。看看delphi的ping的例子就明白了。
      

  8.   

    我正在使用IdIcmpClient控件,
      IdIcmpClient1.Host:=edit1.Text;
      IdIcmpClient1.Ping;
      if IdIcmpClient1.ReplyStatus.ReplyStatusType=rsTimeOut then
        showmessage('timeout')
      else showmessage('ok');
    但是我在对ReplyStatus的使用上还有些疑问,能仔细解释一下么?delphi带的没有详细的例子,你能给一个么?