spawnl, shellexecute запуск приложения с атрибутами

284
23 августа 2017, 18:06

Есть программа с атрибутами. Атрибуты: 1) запускается программа, 2) подхватывается предварительно созданный файл и 3)параметры для него.

"C:\Program Files (x86)\Marilou2010\Bin\Exec.exe" /p:"C:\Users\admin\Desktop\right hand_text\ServoMotor\ServoMotor.mdsp" /c:"Normal"

Пытаюсь заставить консоль на с++ запустить ее. Пытался через spawnl и shellexecute. До этого запускал экзешники через CreateProcess, но они не содержали атрибутов/параметров.

spawnl(P_NOWAIT, "\"C:\\Program Files (x86)\\Marilou2010\\Bin\\Exec.exe\" /p:\"C:\\Users\\admin\\Desktop\\right hand_text\\ServoMotor\\ServoMotor.mdsp\" /c:\"Normal\"", NULL); 
ShellExecute(NULL, "open","\"C:\\Program Files (x86)\\Marilou2010\\Bin\\Exec.exe\" /p:\"C:\\Users\\admin\\Desktop\\right hand_text\\ServoMotor\\ServoMotor.mdsp\" /c:\"Normal\"", NULL, NULL,SW_SHOWNORMAL);
Answer 1

Ну посмотрите, как spawnl объявлена...

int spawnl(int mode, char *fname, char *arg0, ..., char *argN, NULL)

Т.е. по логике, вы должны вызывать как

spawnl(P_NOWAIT, 
       "C:\\Program Files (x86)\\Marilou2010\\Bin\\Exec.exe", // Запускаемая программа
       "C:\\Program Files (x86)\\Marilou2010\\Bin\\Exec.exe", // argv0 - да хоть NULL тут, не так важно...
       "/p:\"C:\\Users\\admin\\Desktop\\right hand_text\\ServoMotor\\ServoMotor.mdsp\"",
       "/c:\"Normal\"",
       NULL);

(Будем надеяться, что ваша программа правильно отработает кавычки в параметрах).

Что здесь, что в ShellExecute вы смешиваете в кучу имя выполнимого файла и передаваемые аргументы командной строки.

READ ALSO
Задача из Primer Plus C++

Задача из Primer Plus C++

Здравствуйте, не получается решить задачу

287
Можно ли создать класс-обертку за слежением за окном windows?

Можно ли создать класс-обертку за слежением за окном windows?

В общем мне надо создать класс-обертку, для слежения за положением любого окна (ну допустим по его HWND) в WindowsЯ знаю в Qt есть класс QWindow, но там...

209
BSoD на Win7 во время работы приложения

BSoD на Win7 во время работы приложения

Есть клиент на C++, который на win 7 иногда, не систематично, вызывает синий экран смертиПри этом пользователи восьмёрок и десяток с такой проблемой...

218
“Пошаговый” скролл

“Пошаговый” скролл

Всем доброго времени суток

243