Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
f0stergas
Сообщений: n/a
#1

Исполнение .cmd через вызов CreateProcess() - C++

14.08.2012, 15:01. Просмотров 1712. Ответов 1
Метки нет (Все метки)

Привет. Заранее извините, если написал не туда. Есть .cmd файл, который надо запустить ТОЛЬКО при помощи CreateProcess() (ShellExecute в моем случае не подходит) и передать ему параметры. Написан такой вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
LPSTR cmdArgs = "cmd.exe /K cmdfile.cmd firstparameter";
if (!CreateProcess(NULL,
        cmdArgs,
        NULL,
        NULL,
        TRUE,
        CREATE_NEW_CONSOLE,
        NULL,
        NULL,
        &si, &pi))
    {
        ErrorMessage("CreateProcess");
        getch();
        return;
    }
Все работает, но результат исполнения .cmd-файла такой, будто firstparameter ему не передавался. Подскажите, в чем может быть проблема, как в данном случае мне переадть параметр не для cmd.exe, а для моей .cmd. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2012, 15:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исполнение .cmd через вызов CreateProcess() (C++):

Как запустить консольное приложение через CreateProcess и спрятать его окно? - C++
Т.е. как запустить досовский exe-шник через CreateProcess и чтобы его окна не было видно?

Компиляция через cmd - C++
Чем вызвана ошибка при компиляции (встроенный компилятор visual studio) через командную строку: cl.exe main.cpp Запуск программы...

Запуск не через cmd - C++
Компилятор Dev C++, через что ещё можно произвести выполнение, кроме как через Cmd, и как сделать? Спасибо!

Запуск файла через cmd - C++
При открытие exe файла этой программы через cmd выводится "False", значит программе не удаётся открыть нужный файл. Если запускать через...

не открывает файл через cmd - C++
Задача: матрица приводится по методу Гаусса (что сделано), все считывается и записывается в файлы. Когда например прописываю в параметрах...

Не запускает программу через cmd - C++
Если вручную запускать .exe, то программа нормально все делает, но если запускать через cmd получаю лишь черный екран, как от cmd но без...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
14.08.2012, 16:08 #2
f0stergas,
попробуй
C++
1
LPSTR cmdArgs = "cmd.exe //K cmdfile.cmd firstparameter"
По-моему два "//" нужно передавать, ибо "/" используется для табуляций, кареток и прочих системных символов
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2012, 16:08
Привет! Вот еще темы с ответами:

Вызов GnuPlot через си прогу - C++
Нашел в инете такой способ FILE *pipe_gp = popen("gnuplot", "w"); fputs("set terminal png\n", pipe_gp); fputs("plot '-' u 1:2\n",...

Вызов функций через таблицу прерываний - C++
Уважаемые участники форума cyberforum.ru, очень нужна ваша помощь. Столкнулся с такой вот проблемой: написал класс обработки 64-битных...

Вызов функции из массива, через указатель - C++
имею код #include <iostream> #include <vector> #include <utility> using namespace std; void Func() { cout<<"pFunc()"; } ...

Вызов деструктора [удаление через указатель] - C++
class A: public B { public: A() {} ~A() {std::cout << "del";} void someFn(A*); void someFn2(); }; void someFn(A*...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru