Консультация № 156285
30.12.2008, 05:56
0.00 руб.
0 2 1
Всем доброго времени суток! У меня такой вопрос: как с помощью Delphi открыть командную строку Windows и вписывать туда команды? Помогите пожалуйста! Заранее благодарен!

Обсуждение

Неизвестный
30.12.2008, 16:19
общий
это ответ
Здравствуйте, Захаров Алексей Александрович!

Самое дубовое решение, напрашивающееся само собой, состоит в следующем:
Запустить cmd.exe, получить его хэндл и слать ему посимвольно нужную строку. В конце заслать символ Enter.

См. приложение.

Приложение:
uses ... ShellAPI ...
...
var W: HWND
...
procedure TForm1.FormCreate(Sender: TObject);
begin
ShellExecute(0, nil, 'cmd.exe', nil, nil, SW_SHOWNORMAL);
W := GetForegroundWindow;
end;

procedure TForm1.Button1Click(Sender: TObject);
var X: Integer;
begin
for X := 1 to Length(Edit1.Text) do
PostMessage(W, WM_CHAR, Ord(Edit1.Text[X]), 0);
PostMessage(W, WM_CHAR, 13, 0);
end;
Неизвестный
31.12.2008, 12:00
общий
Если цель просто выполнить ряд команд, то можно сделать BAT-файл (как обычный текстовый) с нужными командами, а его уже потом запускать.
Форма ответа