![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
пинг [D7, WinXP]
Rustam © (2007-12-11 23:22:00)подскажите плиз,как можно вызывать в делфи внешние команды?
именно нужен ping.
то бишь,чтобы делфи делал типа ping 192.168.0.1 и показывал,успешно или нет.
nickla (2007-12-26 16:18:00) [1]В статьях на этом сайте поищи по слову icmp. Удивишься сильно - подробная статья что и как. У меня работает.
Джо (2007-12-12 17:51:00) [2]> [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 должен везде работать :)
А, ну, так тем лучше :)
oldman (2007-12-12 17:18:00) [3]
> чтобы делфи делал типа ping 192.168.0.1
рыдал...
Rouse_ (2007-12-12 17:17:00) [4]
> Хотя, проверил, вот у меня сейчас на XP есть две эти библиотеки.
Там прямое перенаправление такого плана:
.text:7429113D ; Exported entry 5. IcmpSendEcho
.text:7429113D public IcmpSendEcho
.text:7429113D IcmpSendEcho db 'iphlpapi.IcmpSendEcho',0
Так что импорт через Icmp.dll должен везде работать :)
Джо (2007-12-12 17:11:00) [5]> [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 есть две эти библиотеки.
Eraser (2007-12-12 15:10:00) [6]
> DrPass © (12.12.07 10:35) [8]
> ExitCode ж для того и придуман...
ExitCode'ом там не отделаешься по-моему, нужно перенаправлять ввод/вывод.
> Самый простой способ - взять компонентину TIdICMP
к сожалению у способа, который применяется в этой библиотеке огромный изъян - будет работать только если юзер - админ.
Джо © (12.12.07 02:23) [5] - самый правильный вариант.
DrPass (2007-12-12 10:35:00) [7]
> Тут не подойдет внешняя программа ping
При большом желании можно и ее использовать. ExitCode ж для того и придуман...
> Удобнее будет воспользоваться функциями icmp.dll
Самый простой способ - взять компонентину TIdICMP
DVM (2007-12-12 09:28:00) [8]
> Плюс учесть, что это только в Win 2000 библиотека называется
> icmp.dll, в других ОС — Iphlpapi.dll.
в WinXP тоже icmp.dll. Да и в висте я думаю тоже.
Джо (2007-12-12 02:30:00) [9]Плюс учесть, что это только в Win 2000 библиотека называется icmp.dll, в других ОС — Iphlpapi.dll. Если МСДН нам не врет. Ну и еще немножко можно поправить саму функцию Ping.
Джо (2007-12-12 02:23:00) [10]> [4] Rustam (12.12.07 00:21)
> а как пользоваться icmp?
http://delphi.about.com/library/weekly/code/src081503.zip
Rustam (2007-12-12 00:21:00) [11]а как пользоваться icmp?
DVM (2007-12-12 00:05:00) [12]
> ну если пинг прошел успешно,то выводить сообщение в противном
> случае, выводить другое сообщение
Тут не подойдет внешняя программа ping. Удобнее будет воспользоваться функциями icmp.dll.
> какие аргументы у winexec?
procedure TForm1.Button2Click(Sender: TObject);
begin
winexec(pchar('ping.exe www.ya.ru'), sw_show)
end;
Rustam (2007-12-11 23:59:00) [13]ну если пинг прошел успешно,то выводить сообщение в противном случае, выводить другое сообщение
з.ы какие аргументы у winexec?
DVM (2007-12-11 23:28:00) [14]
> как можно вызывать в делфи внешние команды?
WinExec()
> и показывал,успешно или нет.
Показывал где?