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

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

Войти
Регистрация
Восстановить пароль
 
brrr
0 / 0 / 1
Регистрация: 26.10.2014
Сообщений: 58
#1

Ожидание завершения другой программы - C++

07.07.2015, 17:36. Просмотров 270. Ответов 9
Метки нет (Все метки)

Здравствуйте,
Вызываю программу:
C++
1
2
const char* prog3 = "proverka.bat";
WinExec(prog3, SW_HIDE);
Необходимо подождать выполнение prog3.
Знаю, есть
C++
1
WaitForSingleObject();
Но ее сюда прикрутить не могу. Дело еще в том, что мне оочень нужно скрыть окно командной строки (делаю через SW_HIDE)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 17:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ожидание завершения другой программы (C++):

Вылет программы после завершения - C++
Добрый день. Сегодня решил начать изучение языка программирования. Нашел учебник для чайников, там построение задач ведется с...

Востановление состояния программы после завершения - C++
Здорова господа!!! Пишу прогу которая работает можно сказать в фоновом режиме (непрерывно) и от нужно например при непредвиденных...

Не ждать завершения запущенной внешней программы - C++
Я запускаю из своей программы внешний экзешник при помощи system(command). Но данный вариант меня не устраивает, т.к. приходится ждать...

Повторный ввод без завершения программы - C++
консольное приложение. как сделать так, чтобы при вводе неверных данных в переменную (cin >> a), заново запрашивать ввод данных? без...

Ошибка после завершения программы. Двоичные файлы. Структуры - C++
Программа работает нормально по записи в двоичный файл и считывании с него, но одна проблема появляется в конце после завершения программы....

int main() и его return(узнать код завершения программы в cmd) - C++
Доброе утро всем. Вопрос таков. Если в конце программы мы поставим ретерн 15(а не 0), то как узнать чему равен мэйн, если не видеть этот...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
07.07.2015, 17:50 #2
delete
brrr
0 / 0 / 1
Регистрация: 26.10.2014
Сообщений: 58
07.07.2015, 17:51  [ТС] #3
Croessmah, что?
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,056
Завершенные тесты: 1
07.07.2015, 18:05 #4
ты батник не сможешь через waitForSingleObject контролировать
brrr
0 / 0 / 1
Регистрация: 26.10.2014
Сообщений: 58
07.07.2015, 18:07  [ТС] #5
Raali, вооооот, а как быть-то теперь??
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,056
Завершенные тесты: 1
07.07.2015, 18:11 #6
system("proverka.bat"); ?
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
07.07.2015, 18:13 #7
Используй CreateProcess - он позволяет скрыть окно консоли, - и ожидай на хэндле процесса.
brrr
0 / 0 / 1
Регистрация: 26.10.2014
Сообщений: 58
07.07.2015, 18:20  [ТС] #8
Raali, нельзя не скрывать командную строку. С system(); она будет появляться

Добавлено через 2 минуты
CheshireCat, а как там можно скрыть окно консоли?

Добавлено через 4 минуты
c CreateProcess нахожу только огроменные коды. Подскажите, пожалуйста, как написать
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
07.07.2015, 18:32 #9
Читай https://msdn.microsoft.com/ru-RU/lib...=vs.85%29.aspx и про флаг CREATE_NO_WINDOW.
Какие там "огроменные коды"? Писать-то там фиг да нифига.....
brrr
0 / 0 / 1
Регистрация: 26.10.2014
Сообщений: 58
07.07.2015, 19:05  [ТС] #10
C++
1
2
3
4
5
6
7
8
9
STARTUPINFO StartupInfo;
    PROCESS_INFORMATION ProcessInfo;
    char *pDefaultCMD = "proverka.bat";
    memset(&StartupInfo, 0, sizeof(StartupInfo));
    StartupInfo.cb = sizeof(STARTUPINFO);
    StartupInfo.dwFlags = STARTF_USESHOWWINDOW;
    StartupInfo.wShowWindow = SW_HIDE;
 
    WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
Так? я совсем не поняла

Добавлено через 23 минуты
в крайнем случае, Sleep(); всегда поможет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2015, 19:05
Привет! Вот еще темы с ответами:

Открытие файла другой программы из программы.Косяк. - C++
Итак, есть в программе такой кусок: system("E:\\KMPlayer\\KMPlayer.exe E:\\WINDOWS\\New_year.mp3"); Косяк в том, что пока песня не дойдёт...

Ошибка завершения программы после "return 0" - C++
stdafx.h #include <iostream> #include <fstream> #include <string> using namespace std; #include "Student.h" Student.h ...

Оптимизация/Другой вариант программы - C++
Имею вот такой код программы(работа с бинарной строкой) однако на моменте проверки что это строка бинарная возникли проблемы (не понимаю...

Получение вывода другой программы - C++
Требуется запустить консольное приложение и получить текст, который оно вывело в stdout и stderr. Скажите, пожалуйста, как это можно...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.07.2015, 19:05
Ответ Создать тему
Опции темы

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