Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.27;
Скачать: CL | DM;

Вниз

пинг   Найти похожие ветки 

 
Rustam   (2007-12-11 23:22) [0]

подскажите плиз,как можно вызывать в делфи внешние команды?
именно нужен ping.
то бишь,чтобы делфи делал типа ping 192.168.0.1 и показывал,успешно или нет.


 
DVM ©   (2007-12-11 23:28) [1]


> как можно вызывать в делфи внешние команды?

WinExec()


> и показывал,успешно или нет.

Показывал где?


 
Rustam   (2007-12-11 23:59) [2]

ну если пинг прошел успешно,то выводить сообщение в противном случае, выводить другое сообщение
з.ы какие аргументы у winexec?


 
DVM ©   (2007-12-12 00:05) [3]


> ну если пинг прошел успешно,то выводить сообщение в противном
> случае, выводить другое сообщение

Тут не подойдет внешняя программа ping. Удобнее будет воспользоваться функциями icmp.dll.


> какие аргументы у winexec?

procedure TForm1.Button2Click(Sender: TObject);
begin
 winexec(pchar("ping.exe www.ya.ru"), sw_show)
end;


 
Rustam   (2007-12-12 00:21) [4]

а как пользоваться icmp?


 
Джо ©   (2007-12-12 02:23) [5]

> [4] Rustam   (12.12.07 00:21)
> а как пользоваться icmp?

http://delphi.about.com/library/weekly/code/src081503.zip


 
Джо ©   (2007-12-12 02:30) [6]

Плюс учесть, что это только в Win 2000 библиотека называется icmp.dll, в других ОС — Iphlpapi.dll. Если МСДН нам не врет. Ну и еще немножко можно поправить саму функцию Ping.


 
DVM ©   (2007-12-12 09:28) [7]


> Плюс учесть, что это только в Win 2000 библиотека называется
> icmp.dll, в других ОС — Iphlpapi.dll.

в WinXP тоже icmp.dll. Да и в висте я думаю тоже.


 
DrPass ©   (2007-12-12 10:35) [8]


> Тут не подойдет внешняя программа ping

При большом желании можно и ее использовать. ExitCode ж для того и придуман...

> Удобнее будет воспользоваться функциями icmp.dll

Самый простой способ - взять компонентину TIdICMP


 
Eraser ©   (2007-12-12 15:10) [9]


> DrPass ©   (12.12.07 10:35) [8]


>  ExitCode ж для того и придуман...

ExitCode"ом там не отделаешься по-моему, нужно перенаправлять ввод/вывод.

> Самый простой способ - взять компонентину TIdICMP

к сожалению у способа, который применяется в этой библиотеке огромный изъян - будет работать только если юзер - админ.
Джо ©   (12.12.07 02:23) [5] - самый правильный вариант.


 
Джо ©   (2007-12-12 17:11) [10]

> [7] DVM ©   (12.12.07 09:28)
>
> > Плюс учесть, что это только в Win 2000 библиотека называется
>
> > icmp.dll, в других ОС — Iphlpapi.dll.
>
> в WinXP тоже icmp.dll. Да и в висте я думаю тоже.


MSDN по IP Help functions:
DLL: Requires Iphlpapi.dll on Windows Server "Longhorn", Windows Server 2003, and Windows XP. Requires Icmp.dll on Windows 2000 Server and Windows 2000 Professional.  
За что взял, за то и продаю :)
Хотя, проверил, вот у меня сейчас на XP есть две эти библиотеки.


 
Rouse_ ©   (2007-12-12 17:17) [11]


> Хотя, проверил, вот у меня сейчас на XP есть две эти библиотеки.

Там прямое перенаправление такого плана:
.text:7429113D ; Exported entry   5. IcmpSendEcho
.text:7429113D                 public IcmpSendEcho
.text:7429113D IcmpSendEcho    db "iphlpapi.IcmpSendEcho",0

Так что импорт через Icmp.dll должен везде работать :)


 
oldman ©   (2007-12-12 17:18) [12]


> чтобы делфи делал типа ping 192.168.0.1


рыдал...


 
Джо ©   (2007-12-12 17:51) [13]

> [11] Rouse_ ©   (12.12.07 17:17)
>
> > Хотя, проверил, вот у меня сейчас на XP есть две эти библиотеки.
>
> Там прямое перенаправление такого плана:
> .text:7429113D ; Exported entry   5. IcmpSendEcho
> .text:7429113D                 public IcmpSendEcho
> .text:7429113D IcmpSendEcho    db "iphlpapi.IcmpSendEcho",
> 0
> Так что импорт через Icmp.dll должен везде работать :)

А, ну, так тем лучше :)


 
nickla   (2007-12-26 16:18) [14]

В статьях на этом сайте поищи по слову icmp. Удивишься сильно - подробная статья что и как. У меня работает.



Страницы: 1 вся ветка

Текущий архив: 2008.01.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
3-1190481366
monik
2007-09-22 21:16
2008.01.27
Активация роли приложения


15-1198051992
ПЛОВ
2007-12-19 11:13
2008.01.27
Помогите обмануть инсталлятор


15-1198320049
TUser
2007-12-22 13:40
2008.01.27
Windows Defender


4-1182446356
MInd_f
2007-06-21 21:19
2008.01.27
Сервис. DLL. Не работают функции экспортируемые из DLL. Хуки...


2-1198576815
Washington
2007-12-25 13:00
2008.01.27
Системная информация