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

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

createProcess и параметры [D7, WinXP]


darvin ©   (2005-11-09 15:39:00) 

Как можно передать программе, вызываемой по CreateProcess параметр-путь, содержащий внутри себя пробелы? Пробовал так:
1. CreateProcess ( nil,
                     PChar(ExeFile + '  ' +
                              Param1 + ' ' + Param2),
                     ... );
но, если путь содержит пробелы, то не работает, а без пробелов - все ок

2. CreateProcess ( nil,
                     PChar(ExeFile + '  ' +
                              '"' + Param1 + '" ' + '"' + Param2 + '"'),
                     ... );
не работает, даже если путь не содержит пробелов


Leonid Troyanovsky   (2005-11-09 17:01:00) [1]


> darvin ©   (09.11.05 16:47) [8]
> видел. Передаю то, что и должно быть


Запускаешь cmd.exe
Испытываешь различные варианты (без допущений о текущей директории).
Если работающих вариантов нет - смело перемещаешь подопытное
приложение в корзину.

В качестве костылей можешь сделать bat (cmd) файл, назначающий
текущую директорию и т.д.

Кста, кавычить надо и имя исполняемоего файла (QuotedStr).

--
Regards, LVT.


darvin   (2005-11-09 16:47:00) [2]

>Германн ©   (09.11.05 16:43) [7]
видел. Передаю то, что и должно быть


Германн   (2005-11-09 16:43:00) [3]

Попробуй вызвать ShowMessage(ExeFile + '  ' +
                             '"' + Param1 + '" ' + '"' + Param2 + '"') и посмотреть глазами что ты передаешь в CreateProcess.


darvin   (2005-11-09 16:31:00) [4]

некорректное чтение ini-файла, являющегося одним из параметров. То есть не находит его, правильно путь не находит.


Игорь Шевченко   (2005-11-09 16:26:00) [5]


> не работает


Ошибку какую-нибудь выдает ?


darvin   (2005-11-09 16:11:00) [6]

не находит пути. Вызываемая программа не моя, исходников нет. Я ее запускаю из винды нормально, из своей программы, если пути без пробелов - нормально. А если с пробелами, то заключаю каждый параметр в двойные кавычки - не работает, даже для путей без пробелов.


Игорь Шевченко   (2005-11-09 16:07:00) [7]


> не работает


как не работает ? :)


darvin   (2005-11-09 15:51:00) [8]

я и ставлю в двойных (см. 2). Все равно не работает :(


Anatoly Podgoretsky   (2005-11-09 15:49:00) [9]

Вопрос не по Дельфи.
Основы Операционных систем - имена файлов и путей со специальными символами должны быть в двойных кавычка.


Наверх

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