Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
5 / 5 / 3
Регистрация: 28.03.2010
Сообщений: 146
1

Приостановка процесса

26.04.2010, 21:29. Показов 4164. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа програмисты!
Создаю процесс через компонент Process:
process1->Start();
Как его приостановить на время?..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2010, 21:29
Ответы с готовыми решениями:

Приостановка процесса работы приложения в момент перемещения формы
При передвижении окна, все процессы в нем останавливаются, можно ли это как то исправить? Чтобы...

Запуск нового процесса в контейнере существующего процесса
Здравствуйте. Недавно задался целью запустить игру(minecraft), которая уже имеется на компьютере, с...

Приостановка вывода данных
Добрый день. Имеется TextBox, в который поочерёдно вносятся данные. Необходимо сделать паузу между...

Приостановка потока другой формы
Есть 2 формы Form1 и Form2. При этом Form2 открывается методом Showdialog(). На ней есть кнопка....

10
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
26.04.2010, 22:08 2
Цитата Сообщение от SphiNkSs Посмотреть сообщение
process1->Start();
Как его приостановить на время?
Врядли получится его приостановить. Убить полностью (через Kill()) можно.

Не знаю, что делает Ваша программа.
Потоки (Thread) можно на паузу ставить, попробуйте через них может как-нить.
0
2 / 2 / 2
Регистрация: 21.01.2010
Сообщений: 29
26.04.2010, 22:13 3
Можно приостановить через потоки
C#
1
System.Thearding.Thread.Sleep(3000); //пауза на 3 секунды
попробуй поэксперементировать.
0
5 / 5 / 3
Регистрация: 28.03.2010
Сообщений: 146
26.04.2010, 22:23  [ТС] 4
Тогда требуется чтобы родительский процесс отправил запрос дочернему на приостановку, а уже он вызвал у себя System.Thearding.Thread.Sleep(3000)? У мну в этом вопросе практики никакой. Вы не могли бы подсказать как лучше организовать взаимодействие между процессами? И желательно небольшой пример релизации, так как ни с сокетами, ни с каналами не работал ни разу...
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
26.04.2010, 22:34 5
Для начала Вам следует определиться, что Вы хотите сделать.
Потому как ПРОЦЕСС предназначен для выполнения сторонней программы, а ПОТОК выполняет какую-либо задачу в рамках своей программы, только в отдельной нити потока.

Что касается примеров, я с потоками работал только один раз, с помощью MSDN оч хорошо справился.
0
39 / 39 / 9
Регистрация: 21.11.2009
Сообщений: 201
26.04.2010, 23:15 6
А можно через таймер убить, а потом заново запустить...
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
26.04.2010, 23:19 7
Если речь о ПРОЦЕССЕ, то да. Вы запускаете программу, потом ее принудительно закрываете, потом опять запускаете. Только зачем?
0
39 / 39 / 9
Регистрация: 21.11.2009
Сообщений: 201
26.04.2010, 23:22 8
Ну можно в таймере убивать такой процесс как taskmgr или скажем expolorer при запуски приложения пользователь не сможет запустить диспетчер задач так как он будет убиваться...
Ну это к примеру...
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
26.04.2010, 23:26 9
Это конечно да. Только получить доступ к процессу запущеному не из собственного приложения сложнее.
1
39 / 39 / 9
Регистрация: 21.11.2009
Сообщений: 201
26.04.2010, 23:28 10
Кстати еще раз спасибо за treeview и контекст. меню
0
5 / 5 / 3
Регистрация: 28.03.2010
Сообщений: 146
27.04.2010, 07:40  [ТС] 11
Задача у программы такова. Имеется основная программа(main) и две дополнительных(prc1 и prc2). В prc1 и prc2 стоит прогресс бар, который начинает при запуске набирать свое значение, а набрав полностью останавливается и больше ничего prc1 и prc2 не выполняет. В программе main необходимо по нажатию кнопки организовать запуск двух процессов(prc1 и prc2), но не паралельно или последовательно,а так:
  1. первым запускается prc1
  2. прогресс бар prc1 набирает свое значение до 50%
  3. запускается prc2, прогресс бар prc1 приостанавливается
  4. прогресс бар prc2 полностью отрабатывает, т.е. набирает 100%
  5. прогресс бар prc1 продолжает набор до 100%
Сразу скажу дело здесь не в том, как это выглядит, а в том как это реализовано. Релизовать нужно именно процессами, а не потоками. Сейчас задача решена до уровня, когда осталось найти способ передать между процессами сообщения. Подскажите, пожайлуста, пример реализации обмена данными между процессами по каналу pipe?
0
27.04.2010, 07:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2010, 07:40
Помогаю со студенческими работами здесь

Принудительная остановка и приостановка потока
Как принудительно остановить и приостановить поток? такой код: public void CreateThreads(int...

Почему приостановка потока совершается ДО вывода текста метки?
Почему приостановка потока совершается ДО вывода текста метки? if (Info.MoveUseArg == 7) // юс...

Как узнать класс окна другого процесса? Желательно найти класс окна по PID процесса
Мне нужно узнать класс другого окна по PID процесса

Приостановка потоков
Здравствуйте, помогите, пожалуйста, разобраться с заданием. Создать 2 потока: поток 1 выполняет...

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

Приостановка работы
Здравствуйте!Ситуация такова: В программе выполняется функция.Во время её работы пользователю...


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

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