Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запуск bat файла [D7, WinXP]


ancot ©   (2007-04-12 23:08:00) 

всем доброго вечера
может кто подскажет как запустить bat файл из приложения delphi. как я понимаю winexec и shellexecute работают только с exe...


stakan   (2007-04-26 14:24:00) [1]

ShellExecute(Handle, 'open', 'ping', '-t localhost', nil, SW_SHOW);


sadasd   (2007-04-26 14:14:00) [2]

уж коль пошла такая пьянка....
не подскажите как запустить утилиту виндосовскую ping, из delphi, причем чтобы можно было менять параметры...
парметры:
ping -t localhost
причем вместо localhost из дельфи можно было бы подставить любой ip...
как-то так...
никто не подскажет?


Пока что юзер   (2007-04-26 13:05:00) [3]

stakan
begin...end
 
   Спасибо! :)


begin...end   (2007-04-26 11:47:00) [4]

> Пока что юзер ©   (26.04.07 11:21) [5]

Прописать надо ShellAPI. Но после этого сразу же возникнет другая ошибка, потому что у ShellExecute 6 параметров, а не 2. Описание функции и параметров см. в справке по API.


stakan   (2007-04-26 11:45:00) [5]


> это надо что то в user прописать
>
> если можно подробно ПЛЗ.
> Жду
> СПС.

Не в user, а в uses. ShellApi.


Пока что юзер   (2007-04-26 11:21:00) [6]

Помогите юзеру :)
хочу например запустить файл .TXT, прописал:

procedure TForm1.button1Click(Sender: TObject);
begin
shellexecute ('c:\123.txt',1);
end;

ругается пишет
Undecleared identifier: 'shellexecute'
это надо что то в user прописать

если можно подробно ПЛЗ.
Жду
СПС.


Плохиш   (2007-04-13 11:19:00) [7]


> ancot   (12.04.07 23:08)  

Я тэбэ один тайна открою, эти функции работают не только с файлами...


delphim   (2007-04-13 09:56:00) [8]

можно, напримерБ так:
где acmd - имя вашего .bat файла
function TForm1.executedCmdShell(acmd: string): Boolean;
var
 si: TStartupInfo;
 pi: TProcessInformation;
begin
 Result := true;
 if Length(acmd) = 0 then exit;
 try
   FillChar(si, SizeOf(si), 0);
   si.cb  := SizeOf(si);
   Result := CreateProcess(
     nil, PChar(acmd), nil, nil, true, CREATE_NO_WINDOW, nil, nil, si, pi);
   if Result then
     WaitForSingleObject(pi.hProcess, INFINITE);
 except
   Result := false;
 end;
 if not Result then exit;
 CloseHandle(pi.hProcess);
 CloseHandle(pi.hThread);
end;


Германн   (2007-04-13 00:09:00) [9]


> как я понимаю ... shellexecute работают только с exe

Вы и близко не понимаете со сколькими типами файлов работает ShellExecute! (Правда большинство из них "документы"! Чур, чур меня! :)


Dmitrij_K   (2007-04-12 23:14:00) [10]


>  как я понимаю winexec и shellexecute работают только  с exe...

Неправильно понимаешь. Хорошо работает


Наверх

Титульная страница Поиск, карта сайта Написать письмо