Вниз
Скачать: CL | DM;

WinExec и Ping   Найти похожие ветки 

 
S46E ©   (2006-07-22 14:01) [0]

WinExec(Pchar("ping 127.0.0.1 > c:\1.txt"), SW_show);

пишу в cmd "ping 127.0.0.1 > c:\1.txt" - работает.
пишу в Выполнить - не работает.
пишу в дельфи - тоже.
пишу "ping 127.0.0.1" - везде работает.

Задача: запустить из дельфи "ping 127.0.0.1 > c:\1.txt" что-бы пинг не ругался "Неверный параметр".


 
Anatoly Podgoretsky ©   (2006-07-22 14:20) [1]

Сам же пишешь, что пишешь в CMD, вот и в Дельфи также делай или перенаправляй потоки вывода. Символ переназначения обрабатывается командным процессором.


 
Palladin ©   (2006-07-22 14:56) [2]

символ > это фича коммандного процессора, который, запуская приложение, заменяет stdin на файл указанный после этого символа, ни winexec ни createprocess ни shellexecute естественно этот символ никак не обрабатывают и передают параметром приложению, ping конечно же будет ругаться на этот неизвестный параметр...

потому если хочешь записать вывод результата ping в файл, то придется организовать что то вроде этого...



Var
si:STARTUPINFO;
h:THandle;
pi:PROCESS_INFORMATION;
sa:SECURITY_ATTRIBUTES;
Begin
ZeroMemory(@si,sizeof(si));
With sa Do
 Begin
  nLength:= SizeOf(sa);
  lpSecurityDescriptor:=Nil;
  bInheritHandle:=BOOL(True);
 End;
h:=CreateFile("c:\1.txt",GENERIC_WRITE,0,@sa,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL ,0);
With si do
 Begin
  cb:=SizeOf(si);
  hStdOutput:=h;
  hStdInput:=STD_INPUT_HANDLE;
  hStdError:=STD_ERROR_HANDLE;
  dwFlags:=STARTF_USESTDHANDLES;
 End;
CreateProcess(nil,"ping 127.0.0.1",nil,nil,true,0,nil,nil,si,pi);
WaitForSingleObject(pi.hProcess,WAIT_OBJECT_0);
FileClose(h);
End;



хотя я так понимаю выполняешь ты это с целью последующего чтения из этого файла :) ну а вышеприведенный пример косвенно показывает, что можно обойтись и без файла... как? пусть это будет домашним заданием...



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
15-1152966609
Ketmar
2006-07-15 16:30
2006.08.13
напомните мне, чем чревато no 80-conductor cable


15-1153261002
Каг дила?
2006-07-19 02:16
2006.08.13
Погомгите с длл


3-1149603740
VALUA
2006-06-06 18:22
2006.08.13
QuickRep1 - Изменить программно ориентацию страницы


2-1153487778
bajenovv
2006-07-21 17:16
2006.08.13
кнопка


3-1149698902
Fiallo4ka
2006-06-07 20:48
2006.08.13
Запросы Ado




   Наверх