Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > ShellExecute не работает


Автор: COOLHack 23.7.2009, 19:37
Код

  ShellExecute(Handle, nil, 'cmd.exe', pchar('"'+path_str+'\ddd.exe" /e >"'+path_str+'\1.txt"'), nil, SW_SHOW);


Но в итоге открывается только окно 'cmd.exe' .
Как в 'cmd.exe' передать команду? 
Ранее делал как-то так, всё нормально передавалось.

Автор: CodeMonkey 23.7.2009, 19:55
Эээээ....  а зачем вам cmd?
Запускайте на выполнение сразу '"'+path_str+'\ddd.exe" /e >"'+path_str+'\1.txt"'. Только ShellExecute тут и рядом не стоял - используйте CreateProcess или, на худой конец, WinExec.

Автор: COOLHack 23.7.2009, 20:07
не совсем понял тебя. вот когда я в ручную в cmd.exe пишу 
"путь до папки\ddd.exe" /e >"путь до папки\1.txt"  
и жму ентер, то "путь до папки\ddd.exe" записывает некую информацию в файл "путь до папки\1.txt". 


Только что попытался так  
Код

WinExec(pchar('"'+path_str+'\ddd.exe" /e >"'+path_str+'\1.txt"'),SW_SHOW);

но в итоге запускается ddd.exe, и ничего не делает, то есть не получает указаных параметров. Как правильно передать ей те самый переметры?

Автор: Данкинг 23.7.2009, 20:19
Что-то я тоже не понял, какая связь DOS-окна (cmd.exe) и перенаправлением вывода в файл (>aaa.txt).

Автор: COOLHack 23.7.2009, 20:59
так указываю проге в какой файл писать инфу

Автор: niteo 23.7.2009, 21:08
запускай прогу на выполнение напрямую с параметрами. Вывод перехватывай и пиши куда хошь...

Автор: COOLHack 23.7.2009, 21:30
а пример кода можешь показать?

Автор: niteo 23.7.2009, 21:44
Сматри DRKB, там примеров полно....
Первая попавшаяся 
http://forum.vingrad.ru/forum/topic-169780/unread-1.html

Автор: COOLHack 23.7.2009, 21:53
Вообщем тупо "/c" в начало забыл прописать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)