C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Ping в билдере, Как запустить?
Katrin
Отправлено: 28.12.2005, 11:28


Не зарегистрирован







Как запустить программу Wind'ы ping с параметрами в Builder и получить выходное значение? wink.gif
avc*
Отправлено: 28.12.2005, 11:50


Не зарегистрирован







По моему дешевле просто воспользоваться сокетами. Поищите на форуме, кажется я выкладывал код.
Werti
Отправлено: 28.12.2005, 13:43


Дежурный стрелочник

Группа: Участник
Сообщений: 30



QUOTE (Katrin @ 28/12/2005, 11:28)
Как запустить программу Wind'ы ping с параметрами в Builder и получить выходное значение? wink.gif

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text="127.0.0.1";
ShellExecute(NULL,"open","cmd",("/u /k \"ping "+Edit1->Text+" -t -l 10000"+"\"").c_str(),NULL,SW_SHOW);
}
Werti
Отправлено: 28.12.2005, 13:43


Дежурный стрелочник

Группа: Участник
Сообщений: 30



-t -l 10000
соответсвенно параметры.
Guest
Отправлено: 28.12.2005, 14:06


Не зарегистрирован







QUOTE

и получить выходное значение?
Werti
Отправлено: 28.12.2005, 14:14


Дежурный стрелочник

Группа: Участник
Сообщений: 30



я вот просто не пойму параметры можно задавать и не только с помощью этой функции можно просто написать с помощью компонента IdIcmpClient1 можно указывать хост и результат выводить куда угодно.
посматри примерчик
Program Files\Borland\CBuilder6\Examples\Indy\PingGUI
** Katrin
Отправлено: 28.12.2005, 15:49


Не зарегистрирован







CODE
try{
     ClientSocket1->Active = true;
     Memo1->Lines->Add("Âû ïîäêëþ÷åíû");
  }
  catch (Exception &E)
   {
      Memo1->Lines->Add(AnsiString(E.ClassName())+ E.Message);
   }

Так как не знаю как через ShellExecute получить параметры, делаю через сокет. Только перехватывать ошибку прога не хочет. Если нет подключения, выдает сообщение компиллятор, в Memo ничего не появляется. wink.gif
avc*
Отправлено: 28.12.2005, 17:27


Не зарегистрирован







Прошу прощения, не то ляпнул.
Не сокетами а функциями библтотеки ICMP.dll IcmpCreateFile, IcmpCloseHandle, IcmpSendEcho. (Они у меня в модуле, работающим с сокетами)

Вернуться в Вопросы программирования в C++Builder