![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с командной строкой [D7, WinXP]
k@rt © (2004-11-13 17:57:00)Мастера,может кто подскажет мне как решить следующую задачу?
Мне надо чтобы я из своей программы мог посылать команды в командную строку(cmd.exe) и получать из нее результаты.И чтобы cmd видно не было.
aus (2004-11-16 03:36:00) [1]Смотри справку Windows по cmd, есть возможность включения расширенных функций, вроде и dir там есть.
Defunct (2004-11-16 02:46:00) [2]> но нельзя например выполнить команду DIR и получить результат
dir > c:\1.txt
GuAV (2004-11-16 01:36:00) [3]Ну вот, там же рядом
http://www.sources.ru/delphi/system/delphi_pipes.shtml
Anatoly Podgoretsky (2004-11-16 01:20:00) [4]Для реализации этой задачи, совсем не надо связываться с интерпритатором командной строки. Но если охота, то ищи информациюю. по CreateProcess и перенаправлению ввода/вывода, в сети и чаво подобной информации много.
k@rt (2004-11-16 00:40:00) [5]GuAV, если не сложно то можешь показать,как это делать?
GuAV (2004-11-15 23:24:00) [6]k@rt © (15.11.04 23:17) [2]
но нельзя например выполнить команду DIR и получить результат...
Перенаправляй ввод так же как и вывод, и пиши во ввод.
Piter (2004-11-15 23:23:00) [7]k@rt © (15.11.04 23:17) [2]
но нельзя например выполнить команду DIR и получить результат
ты проверил?
k@rt (2004-11-15 23:17:00) [8]Я так понял там можно запускать программы,но нельзя например выполнить команду DIR и получить результат...
У меня задача в том,чтобы для cmd.exe сделать покрасивее оболочку...
Piter (2004-11-13 18:05:00) [9]http://www.sources.ru/delphi/system/capturing_output_from_console.shtml
Примечания от меня:
1) путь к файлу надо указывать полностью
2) строки возвращаются в DOS кодировке, надо перекодировать
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := GetDosOutput('c:\winnt\system32\rsh.exe');
OemToChar(PChar(s), pChar(s));
showmessage(s);
end;