Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577

Ожидание завершение процесса

06.07.2016, 13:29. Показов 2045. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.

Разрабатываю мульти-инсталятор для одной программы.
С установкой я разобрался, застрял на обновлении...

Когда устанавливается программа, появляется процесс (см. фото).


Как задержать выполнение моего инсталятора, пока устанавливается программа?
*В инете нашел функцию "WaitForSingleObject()" не могу понять как она работает((()
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.07.2016, 13:29
Ответы с готовыми решениями:

Завершение процесса
Доброго времени суток, помогите. вот так завершаю процесс HANDLE hProcess; BOOL pid; pid= тут какойто id ; ...

Завершение работы процесса
Добрый день форум! Ну вот опять я! пытаюс завершить работу процесса с перва пытаюс завершить процесс по его ID void...

Запрет на завершение процесса.
Добрый день! Иногда с TaskManager можно встретить процесс которого если попробовать завершить то появляется сообщение что его завершить...

8
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
06.07.2016, 15:37
Как Вы запускаете инсталлятор, процесс которого привели на картинке?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33396 / 21506 / 8236
Регистрация: 22.10.2011
Сообщений: 36,904
Записей в блоге: 12
06.07.2016, 16:00
Запускать инсталлятор через ShellExecuteEx, получать хендл процесса, и ожидать его завершения.
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
06.07.2016, 18:16  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Запускать инсталлятор через ShellExecuteEx
не знаю как это сделать(((
уже костыль сделал через bat-файл, который запускает .msi. осталось отследить пока не исчезнет путь из процессов, указанный мною ранее.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33396 / 21506 / 8236
Регистрация: 22.10.2011
Сообщений: 36,904
Записей в блоге: 12
06.07.2016, 19:29
Лучший ответ Сообщение было отмечено Within_t как решение

Решение

Цитата Сообщение от Within_t Посмотреть сообщение
не знаю как это сделать(((
Что там знать? Вот так: Как сделать что бы после закрытия файла Word открылась первая форма? , только в качестве параметров (поле lpParameters структуры) еще передай тот самый /quiet, а вместо doc-файла по моей ссылке - путь к своему msi. Поскольку у msi дефолтный Verb - это open (если я не ошибаюсь), то можно lpVerb оставить нулевым.
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
07.07.2016, 05:25  [ТС]
volvo, типа так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    SHELLEXECUTEINFO ShExecInfo = {0};
    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    ShExecInfo.hwnd = NULL;
    ShExecInfo.lpVerb = NULL;
    ShExecInfo.lpFile = L"C:\\Proga.msi";
    ShExecInfo.lpParameters = L"/quiet";
    ShExecInfo.lpDirectory = NULL;
    ShExecInfo.nShow = SW_SHOW;
    ShExecInfo.hInstApp = NULL;
    ShellExecuteEx(&ShExecInfo);
    WaitForSingleObject(ShExecInfo.hProcess, INFINITE);
    ShowMessage("Программа установлена");
Добавлено через 10 минут
volvo, Спасибо, выручили)))
Правда когда запустилась установка моя форма зависла)))
0
07.07.2016, 05:28

Не по теме:

Within_t, чтобы не зависала, создавай поток

0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
07.07.2016, 05:53  [ТС]
Цитата Сообщение от Борис Верещагин Посмотреть сообщение
Не по теме:
Within_t, чтобы не зависала, создавай поток
А как? Просто я с этим раньше не работал)
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
07.07.2016, 08:11
Цитата Сообщение от Within_t Посмотреть сообщение
Правда когда запустилась установка моя форма зависла)))
Естественно она зависнет. Она же просто ждет завершения работы функции WaitForSingleObject. Вам правильно посоветовал Борис Верещагин. Разместите код запуска Вашего установщика в отдельном потоке. Поиск по этому форуму Вам поможет. Тем про создание потока предостаточно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.07.2016, 08:11
Помогаю со студенческими работами здесь

Завершение процесса по его Id
Такая задачка помогите, вот прогу пишу, нужно чтобы выводила процессы и завершала. Сделал чтобы выводила процессы и также выводит ID...

Ожидание завершения процесса
Привет, есть путь к файлу, есть файл, после запуска файл выполняет действия и закрывается. Задача: Отследить состояние файла по пути,...

Ожидание завершения процесса
Как дождаться завершения процесса и выполнить команду ?

Ожидание завершения процесса
Как дождаться завершения процесса и выполнить команду ?

Завершение процесса и его дочерних процессов
Доброе время суток! Подскажите, пожалуйста, как можно реализовать завершение процесса (зная его имя или PID) и всех его дочерних...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru