С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679

Запуск нескольких EXE с задержкой

15.06.2012, 18:35. Показов 2872. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дайте совет(или,если есть код)Есть несколько EXE файлов.Лаунчер запускает их одновременно,а мне нужно,по очереди.Отследить процесс не могу,т.к лаунчер и приложения консольные.
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <windows.h>
#include <conio.h>
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    WinExec ( "compress.r1.exe", SW_SHOWNORMAL );
    WinExec ( "compress.r2.exe", SW_SHOWNORMAL );
    WinExec ( "compress.r3.exe", SW_SHOWNORMAL );
};
Как можно реализовать запуск один после другово?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2012, 18:35
Ответы с готовыми решениями:

Запуск exe из ресурсов
Здравствуйте, есть приложение, написаное на .NET, требуется сделать, так сказать, нативную оболочку для него. Файл лежит в ресурсах,...

Запрет на запуск нескольких копий
Возможно ли сделать так, что может быть запущена только одна копия программы (копий несколько по всему диску, они имеют разное название)?

Одновременный запуск нескольких приложений
@echo off chcp 1251 1&gt;nul start &quot;patcher_cf&quot; &quot;D:\ИГРЫ\Cross Fire\patcher_cf exitВот одно из них patcher_cf.exe запускает онлайн...

9
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
15.06.2012, 18:43
Они не могут запуститься одновременно, они запускаются именно в том порядке, в котором указанно в "лаунчере". Если нужна пауза, используйте функцию из winapi, если честно уже не помню ее.
1
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
15.06.2012, 18:56  [ТС]
Логика работы программы такая:
Лаунчер--compress.r1.exe--7za(с параметрами)--создание архива.
Сначала все работало,но потом обнаружил баг.Если использовать код ниже,то происходят ошибки(доступ к файлам ,не запускается последний ехе compress.r3.exe).Если между запусками в ALS.cpp поставить getch();,то после нажатия клавиши все работает нормально.Если запускать compress"ы вручную,то все прекрастно работает.
Полный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// ALS.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <windows.h>
#include <conio.h>
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    WinExec ( "compress.r1.exe", SW_SHOWNORMAL );
    WinExec ( "compress.r2.exe", SW_SHOWNORMAL );
    WinExec ( "compress.r3.exe", SW_SHOWNORMAL );
};
C++
1
2
3
4
5
6
7
8
9
10
11
// compress.r1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <windows.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    WinExec ( "7za.exe a -ssw -mx5 data logs ", SW_SHOWNORMAL );
    Sleep(1000);
}
C++
1
2
3
4
5
6
7
8
9
10
// compress.r2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <windows.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    WinExec ( "7za.exe a -ssw -mx5 data screenshots ", SW_SHOWNORMAL );
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// compress.r3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <windows.h>
#include <ctime>
#include <io.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
char buffer[80];
time_t seconds = time(NULL);
tm* timeinfo = localtime(&seconds);
char* format = "%A, %B %d, %Y %I.%M.%S.ADF";
strftime(buffer, 80, format, timeinfo);
Sleep(1000);
(MoveFile("data.7z",(buffer)));
}
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
15.06.2012, 19:21
Если честно, WinAPI я не очень знаю. Думаю, проблема в том, что работа 7z не успевает завершится, как тут же запускается r3. Нужно сделать так, что бы r3 запускалась после того как завершится 7z.
1
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
15.06.2012, 19:34  [ТС]
Да я понял....а вот как,не знаю.Нужно,что бы этот процесс без вмешательства юзера работал.Не просить же его кнопку нажиать.

Добавлено через 8 минут
Если только поставить getch(); и через программу нажимать ентер...
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
15.06.2012, 19:39
Простое что пришло на ум - попробуйте просто пытаться в r3 открыть файл, который нужно перенести, и как только его возможно будет открыть, выполняйте те действия, которые нужны.
1
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
15.06.2012, 19:46  [ТС]
У меня r3 даже выполняться не начинает.Точнее очень рандомно программа работает,очень нестабильно.Как только ставлю getch(); все работает как часы.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
15.06.2012, 19:50
Потому что Вы работаете с одним и тем же файлом data, Вам так же нужно ждать завершение r1 перед выполнением r2. Вот, думаю поможет, там сразу же ссылки с необходимой информацией.
1
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
15.06.2012, 19:53  [ТС]
Я уже думал над тем,как переработать код,не теряя идеи.Пришло на ум использовать

C++
1
2
3
4
5
6
7
8
9
10
 HWND hWnd = FindWindowA(0,"Имя окна");//Подключаемся к процессу по названию окна
 
 if (hWnd == 0) 
 {
      Если не найдено,запускаем следующий r
 }
 else 
 {
      найдено,идем назад.И снова по кругу.
 }
Но тут по имени окна.А оно у меня не меняется.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
15.06.2012, 20:04
Вот нашел тут же на форуме: Запуск ЕХЕ с ключами и ожиданием завершения
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2012, 20:04
Помогаю со студенческими работами здесь

Запуск exe с флеш носителя
Добрый день! У меня такая проблема компилирую exe, который необходимо запустить с флеш носителя на другом PC. При запуске, АВ Avast...

Windows service и запуск exe
Здравствуйте! Возникла задача на удаленном компьютере в локальной сети запускать exe файл. Причем, программа которая будет запускать этот...

Запуск исполняемого файла (.exe)
Hi every body! Помогите в разработке программы. Я не знаю какие нужно использовать функции в C++ :scratch: для того, чтобы приложение...

Запуск exe после извлечения из ресурсов
Здравствуйте! Только начинаю осваивать winapi. Есть программа, в ресурсах которой другой exe'ник. Требуется извлечь из ресурсов и...

Запуск приложения (exe файла) из программы
Вообщем проблема такая: Нужно запустить из программы другой exe файл. Причем так, что бы он работал как бы незаваисимо, а потом снова...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru