Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];
Внизпинг Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c