Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 11
1

Запуск ЕХЕ с ключами и ожиданием завершения

23.03.2009, 11:55. Показов 3940. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно запустить ЕХЕ с ключами и ожиданием завершения нашого ехе. Плиз дайте код, и желательно с коментами, бо я в с++ новичек.:'(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2009, 11:55
Ответы с готовыми решениями:

Запуск двух программ с ожиданием завершения
Всем привет! Сам не программист, давно ушел в другую сферу ИТ. Потребовалось написать программку,...

Запуск внешней связанной программы с ожиданием завершения
Добрый день! Подскажите, каким образом можно из Access запустить внешнюю связанную программу,...

Запуск bat-файла с ожиданием завершения его работы
Доброго времени суток! Есть необходимость из access запускать батник (качает прайсы, распаковывает...

Вызов с ожиданием завершения
Проблема не раз обсуждалась и имеет решения на разных форумах Однако столкнулся с проблемой Суть...

5
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
23.03.2009, 13:16 2
См. фн. CreateProcess
0
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 11
23.03.2009, 13:21  [ТС] 3
Цитата Сообщение от BornLeader Посмотреть сообщение
См. фн. CreateProcess
, смотрел, но там нету ожидания завершения работы программы, или есть?
0
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
23.03.2009, 13:28 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  PROCESS_INFORMATION pi;
  STARTUPINFO si = { sizeof(STARTUPINFO) };
 
  DWORD lRes = ::CreateProcess(NULL, cmdLine.c_str(),
        NULL, NULL, 0, 0, NULL, NULL, &si, &pi);
 
  if (lRes)
  {
    int lIndex = 0;
    while (WAIT_TIMEOUT == ::WaitForSingleObject(pi.hProcess, 300))
    {
      StatusBar1->SimpleText = AnsiString("Выполнение программы: ") + "-\|/"[(lIndex++) & 3];
      StatusBar1->Update();
      Application->ProcessMessages();
    }
    StatusBar1->SimpleText = "";
    ::GetExitCodeProcess(pi.hProcess, &lRes);
    ::CloseHandle(pi.hProcess);
    ::CloseHandle(pi.hThread);
  }
1
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 11
24.03.2009, 10:13  [ТС] 5
Вы знаете, а я сделал так
Код
#include <vcl.h>
void  RunWait(char* RunCmdLine);
void  RunWait(char* RunCmdLine)
{
	STARTUPINFO si;
	PROCESS_INFORMATION pi;
	ZeroMemory( &si, sizeof(si) );
	si.cb = sizeof(si);
	ZeroMemory( &pi, sizeof(pi) );
	if(CreateProcess(NULL, RunCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
		{
			WaitForSingleObject(pi.hProcess, INFINITE);
		}
	CloseHandle( pi.hProcess );
	CloseHandle( pi.hThread  );
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
RunWait("E:\\ShowCmdParam.exe /sssss");
}
0
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
25.03.2009, 22:49 6
Отличается от моего кода только тем, что Ваш засыпает безвозвратно до окончания программы, а мой просыпается три раза в секунду и может при этом как-то реагировать на происходящее.
0
25.03.2009, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2009, 22:49
Помогаю со студенческими работами здесь

Последовательное выполнение процессов с ожиданием завершения каждого
Имеется 2 процесса, которые должны выполняться один за другим. Первый - объединение нескольких...

Запуск программы с ключами
Всем привет! Как зделать батник чтобы он запсукал программу с ключами к файлу, и показывал...

Запуск скрипта с ключами
Мой скрипт приведенный здесь https://www.cyberforum.ru/python/thread336360.html#post1868544 выдает...

Запуск программы с ключами (с параметрами)
Программа должна печатать результат в зависимости от трех ключей: -p, -u и -l. В консоли захожу в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru