Katrin |
Отправлено: 28.12.2005, 11:28 |
|
Не зарегистрирован
|
Как запустить программу Wind'ы ping с параметрами в Builder и получить выходное значение? |
|
avc* |
Отправлено: 28.12.2005, 11:50 |
|
Не зарегистрирован
|
По моему дешевле просто воспользоваться сокетами. Поищите на форуме, кажется я выкладывал код. |
|
Werti |
Отправлено: 28.12.2005, 13:43 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 30
|
QUOTE (Katrin @ 28/12/2005, 11:28) | Как запустить программу Wind'ы ping с параметрами в Builder и получить выходное значение? |
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 ничего не появляется. |
|
avc* |
Отправлено: 28.12.2005, 17:27 |
|
Не зарегистрирован
|
Прошу прощения, не то ляпнул.
Не сокетами а функциями библтотеки ICMP.dll IcmpCreateFile, IcmpCloseHandle, IcmpSendEcho. (Они у меня в модуле, работающим с сокетами) |
|