| Автор
| Сообщение |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Есть ли функция, которая позоволяет выполнять ДОС команды - mkdir,rd,cd... ? ShellExecute не предлагать. Нужна универсальная - такая, что выполнит запуск файла с параметрами при это не придется пихать имя файла и сами параметры по разным аргументам функции. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
winexec :)
CreateProcess кажется тоже.
а в чём проблема? неужели так трудно распихать аргументы по двум параметрам.
напиши сам такую функцию, там пара строчек разбора строки на команду и аргументы, а потом shellexecute. |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
| Цитата: | | не предлагать. Нужна универсальная - такая, что выполнит запуск файла с параметрами при это не придется пихать имя файла и сами параметры по разным аргументам функции. |
А кто тебя заставляет по разным агрументам? Размести в одном _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
WinExec не запускает батники, а ShellExecute требует все размищать по разным параметрам
| Цитата: | | напиши сам такую функцию, там пара строчек разбора строки на команду и аргументы, а потом shellexecute. |
Не так все просто. Хотя у меня есть одна мысль; посмотрим... _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Народ! А кто знает как указать приложению при запуске рабочий каталог? _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
| Запускать его с помощью CreateProcess |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
А с батниками как дела будут обстоять? Батники будут запускаться тоже. Можно конечно использовать cmd.exe, но на 95-ой винде ее нет. Есть command.com, но эта штучка не работает с длинными именами.
Пока решил делать через ярлык, но это как-то глупо. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
| Код: |
procedure TForm1.Button1Click(Sender: TObject);
var
SI: TStartupInfo;
PI: PROCESS_INFORMATION;
ExeOrBatName: string;
begin
ExeOrBatName:='c:\test.bat';
ZeroMemory(@si, SizeOf(TStartupInfo));
SI.cb:=SizeOf(TStartupInfo);
CreateProcess(Pchar(ExeOrBatName), '', nil, nil, false, 0, nil, PChar(ExtractFilePAth(ExeOrBatName)), SI, PI);
end;
|
Под 2к все работает как надо.
Проверь как на 9х. |
|
| В начало |
|
 |
|
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Ща попробую (пишу и думаю, что вроде это уже было ранее и нихрена не получилось).
Через десять минут
Нет не работает! В MSDN сказано, что для пакетных файлов надо использовать cmd.exe. Вот часть справки:
To run a batch file, you must start the command interpreter; set lpApplicationName to cmd.exe and set lpCommandLine to the name of the batch file. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
че-то я не могу найти в MSDN такой строчки...
поднимите мне веки!
да как же не работает?... это в 2к? у меня тоже 2к и все работает! |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
| Цитата: | | Есть command.com, но эта штучка не работает с длинными именами |
У всех работает, а у тебя нет В кавычки имена брал? _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
| Цитата: | че-то я не могу найти в MSDN такой строчки...
поднимите мне веки!
да как же не работает?... это в 2к? у меня тоже 2к и все работает! |
Смотри по параметрам. А ОС WinXP.
| Цитата: | | У всех работает, а у тебя нет В кавычки имена брал? |
нет. ЩА попробуем. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|