Текущий архив: 2007.05.20;
Скачать: CL | DM;
Вниз
Как запустить приложения по очереди? Найти похожие ветки
← →
Doom-2 (2007-05-04 14:06) [0]Все мы знаем - как сильно подвешивает компьютер копирование большого объёма данных! У меня проблема возникла в том, что за один компьютер в течении дня садятся несколько пользователей и ... копируют, причём почти одно и то-же. Для того, чтобы облегчить их работу, я решил написать программу.
Решить проблему с возможным "подвешиванием" я хочу так: программа при запуске должна проверить - не запущен ли второй её экземпляр на данном компьютере, если запущена (уже кто-то начал копировать файлы для себя), она "встаёт в очередь" и ожидает закрытия всех ЗАПУЩЕННЫХ ДО НЕЁ экземпляров моего приложения!
Спросить, соответственно, я хотел:
1. Как это возможно реализовать (постановка в очередь)?
2. Как при этом организовать какое-нибудь окно "Log очереди"(Выполняется: Петров; Следующие: 1.Иванов, 2.Сидоров)? Было бы замечательно ещё и сделать возможным - регулировать (вручную) порядок в очереди "Следующие".
3. Возможен при таком "конвеерном" режиме конфликт между запущенными экземплярами?
← →
Virgo_Style © (2007-05-04 14:14) [1]Программа-копировщик ищет программу-менеджер, если не нашла - запускает, передает ей информацию о своем задании и ждет сигнала начинать. По завершении может дать сигнал или просто завершиться, тогда менеджер должен следить за завершением.
Можно также реализовать все в одной программе, вновь запущенные экземпляры будут просто передавать уже запущенному свои данные и завершаться.
← →
Doom-2 (2007-05-04 15:58) [2]Идея с программой-менеджером интересная!
Но тогда мне как минимум нужно знать как запустить внешнее приложение и ожидать его завершения не зависая :-) ??
← →
clickmaker © (2007-05-04 16:07) [3]
> запустить внешнее приложение и ожидать его завершения не
> зависая
CreateProcess + WaitForSingleObject(hProcess)
← →
Elen © (2007-05-04 16:08) [4]
> я решил написать программу.
За тебя это сделали в TC - добавление в очередь
← →
Doom-2 (2007-05-04 16:09) [5]CreateProcess + WaitForSingleObject(hProcess)
Я так и делал! - На время работы внешнего приложения моя программа зависает!
← →
Doom-2 (2007-05-04 16:10) [6]За тебя это сделали в TC - добавление в очередь
Копирование - не единственная задача! Я упрощаю, чтобы было понятнее суть вопроса!
← →
clickmaker © (2007-05-04 16:32) [7]
> На время работы внешнего приложения моя программа зависает!
запускай в отдельном потоке
← →
Doom-2 (2007-05-04 16:36) [8]Прошу прощения на безграмотность, но как это сделать?
← →
clickmaker © (2007-05-04 16:40) [9]TThread + F1 - там есть примеры
Страницы: 1 вся ветка
Текущий архив: 2007.05.20;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.035 c