![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск *.bat файла
Ivolg © (2006-07-30 17:31:00)Вообщем нужно запустить *.bat файл, так как это делает команда "Вылопнить" (Пуск -> Выполнить)...
P.S Функции WinExec и ShellExecute - почему-то непомогают... Помогите пожайлуста.
Германн (2006-07-30 20:17:00) [1]
> У меня по прежнему нечего неработает (
>
Может компьютер выключен?
:-)
Ivolg (2006-07-30 18:32:00) [2]>jack128
У меня по прежнему нечего неработает (
jack128 (2006-07-30 18:06:00) [3]
function ExecAndWait(const ExeName, Params: string; out ExitCode: Cardinal; Timeout: Cardinal = MaxInt): boolean;
var
sui: TStartupInfo;
pi: TProcessInformation;
begin
ZeroMemory(@sui, SizeOf(sui));
sui.cb := SizeOf(sui);
Win32Check(CreateProcess(nil, PChar('"' + ExeName + '" ' + Params), nil, nil, False, 0, nil,
nil, sui, pi));
try
CloseHandle(pi.hThread);
Result := WaitForSingleObject(pi.hProcess, Timeout) = WAIT_OBJECT_0;
if Result and (@ExitCode <> nil) then
Win32Check(GetExitCodeProcess(pi.hProcess, ExitCode));
finally
CloseHandle(pi.hProcess);
end;
end;
procedure ExecCommandLine(const Cmd: string);
var
Dummy: Cardinal;
begin
ExecAndWait(GetEnvironmentVariable('ComSpec'), '/C ' + Cmd, Dummy);
end;
procedure TForm8.FormCreate(Sender: TObject);
begin
ExecCommandLine('C:\Temp\1.bat');
end;
Всё работает.
jb (2006-07-30 17:59:00) [4]Действительно не получается и вариант Destroyer © тоже не сробатывает
Destroyer (2006-07-30 17:47:00) [5]Может запустить командную строку с параметрами?