kutuzov |
Отправлено: 16.10.2006, 16:33 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
Программа состоит из 2х частей.
Одна часть висит в памяти другая в трее.
Та, что в трее запускает и управляет той, что в памяти.
Как узнать, не запущен ли уже процесс чтоб его 2й раз не запустить?
Какой лучше вариант коммуникации между 2мя программами выбрать?
|
|
AVC |
Отправлено: 16.10.2006, 16:59 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Мьютексы? |
|
kutuzov |
Отправлено: 16.10.2006, 17:04 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
Ы? |
|
Admin |
Отправлено: 16.10.2006, 17:07 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Там может программа одна ?
И та что в трее, и та что запущена == одна и та же ?
|
|
kutuzov |
Отправлено: 16.10.2006, 17:15 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
Так она сначала и была одна
я неделю по этом поводу с шефом общаюсь...
Пришел к выводу что проще для нервной системы сделать из 1й 2е... |
|
AVC |
Отправлено: 16.10.2006, 17:25 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
В трее висит не программа а иконка + менюшка + hint, а программы обе в памяти.
Может уточните постановку задачи для более разумного ответа.
Посмотрите поиск по слову mutex |
|
Admin |
Отправлено: 16.10.2006, 17:34 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
QUOTE | В трее висит не программа а иконка + менюшка + hint, а программы обе в памяти |
Так может в памяти-то одна программа, а в трее её иконка+менюшка,
и нужно просто организовать моменты, когда её (иконку в трее) надо
то показывать, то убирать ?
|
|
kutuzov |
Отправлено: 16.10.2006, 17:34 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (AVC @ 16.10.2006, 18:25) | В трее висит не программа а иконка + менюшка + hint, а программы обе в памяти.
Может уточните постановку задачи для более разумного ответа.
Посмотрите поиск по слову mutex |
ОК.
В области памяти висит программа отображающая иконку и менюшку- это управляющая программа(Программа А).
Есть еще одна программа, выполняющая некие действия. Эта программа не отображается на экран е(Программа В).
Пользователь при помощи менюшки программы А может:
- запускать программу В
- Завершить программу В
- Приостановить программу В
При закрытии программы А программа В остается в памяти.
Поиск по mutex смотрю. |
|
kutuzov |
Отправлено: 16.10.2006, 17:38 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (Admin @ 16.10.2006, 18:34) | QUOTE | В трее висит не программа а иконка + менюшка + hint, а программы обе в памяти |
Так может в памяти-то одна программа, а в трее её иконка+менюшка,
и нужно просто организовать моменты, когда её (иконку в трее) надо
то показывать, то убирать ? |
К сожалению начальству не всегда интересно как можно сделать..
Ему интересно как нужно сделать |
|
Admin |
Отправлено: 16.10.2006, 17:40 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Ничего я не понял, ну да ладно.
|
|
kutuzov |
Отправлено: 16.10.2006, 17:41 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (Admin @ 16.10.2006, 18:40) | Ничего я не понял, ну да ладно. |
С прогой не ясно или с шефом? |
|
Admin |
Отправлено: 16.10.2006, 17:52 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Всё ясно, написал до того как прочитал.
CreateProcess(B,C,D,E) в программе A и управляйте программами
B, C, D, E как захочется.
___
Неужели начальство разбирается ? Если бы мой директор в такое
полез советы давать — послал бы его самого писать программу,
если он такой умный.
Но мой директор еще умнее — поэтому туда, в чем он не разбирается,
он не лезет, предоставляя делать так, как удобнее тем, кто в этом
разбирается лучше него.
|
|
kutuzov |
Отправлено: 16.10.2006, 18:01 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (Admin @ 16.10.2006, 18:52) | Всё ясно, написал до того как прочитал.
CreateProcess(B,C,D,E) в программе A и управляйте программами
B, C, D, E как захочется.
___
Неужели начальство разбирается ? Если бы мой директор в такое
полез советы давать — послал бы его самого писать программу,
если он такой умный.
Но мой директор еще умнее — поэтому туда, в чем он не разбирается,
он не лезет, предоставляя делать так, как удобнее тем, кто в этом
разбирается лучше него. |
Спасибо с CreateProcess, попробую...
Нет сой не сильно разбирается. Просто ему захотелось поиграть в веселую игру "Угадайте кто из нас начальник который знает как будит удобнее пользователю"... После недельных споров, я понял что проще переписать прогу... |
|
kutuzov |
Отправлено: 16.10.2006, 18:03 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (Admin @ 16.10.2006, 18:52) | CreateProcess(B,C,D,E) в программе A и управляйте программами
B, C, D, E как захочется.
|
А после закрытия программы запускающей CreateProcess и запускаее ее снова она сможет запущеннвм ранее процессом B управлять? |
|
Admin |
Отправлено: 16.10.2006, 18:11 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Я мягко предложил бы ему переписать прогу самому, ссылаясь
что это очень сложное и ответственное задание,
или предварительно предложил бы ему составить техническое
задание на неё в письменном виде, где он мог бы изложить все
требования к ней, чтобы в дальнейшем не было разногласий — "что
написано пером... ",
в крайнем случае — выбить на это дело месяца три,
("это очень сложная задача, требующая нестандартного подхода ...")
из которых неделя уйдет на переписывание, а остальное — на
тестирование (на себя).
Хотя польза от такого переписывания тоже огромна — можно
в свое удовольствие за счет оплаченного рабочего времени
изучить многие интересные аспекты взаимодействия
программ/процессов, мутексы, семафоры и пр.
|
|
kutuzov |
Отправлено: 16.10.2006, 18:23 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (Admin @ 16.10.2006, 19:11) | Я мягко предложил бы ему переписать прогу самому, ссылаясь
что это очень сложное и ответственное задание,
или предварительно предложил бы ему составить техническое
задание на неё в письменном виде, где он мог бы изложить все
требования к ней, чтобы в дальнейшем не было разногласий — "что
написано пером... ",
в крайнем случае — выбить на это дело месяца три,
("это очень сложная задача, требующая нестандартного подхода ...")
из которых неделя уйдет на переписывание, а остальное — на
тестирование (на себя).
Хотя польза от такого переписывания тоже огромна — можно
в свое удовольствие за счет оплаченного рабочего времени
изучить многие интересные аспекты взаимодействия
программ/процессов, мутексы, семафоры и пр. |
спасибо за совет.... |
|
Admin |
Отправлено: 16.10.2006, 18:53 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
QUOTE (kutuzov @ 16.10.2006, 19:03) | QUOTE (Admin @ 16.10.2006, 18:52) | CreateProcess(B,C,D,E) в программе A и управляйте программами
B, C, D, E как захочется.
|
А после закрытия программы запускающей CreateProcess и запускаее ее снова она сможет запущеннвм ранее процессом B управлять? |
"Windows98 Руководство разработчика" в 2-х томах Бен Эззель, Джим Блейни (Изд. "BHV")
Описание методик и приемов программирования приложений, функционирующих в среде Windows, 32-разрядная среда Windows 98, ресурсы приложений, многопоточные приложения, процессы и каналы, операции с реестром, графика в Windows, обмен информацией между приложениями dde-ole и др.
Советую изучить эту книжку относительно процессов и потоков,
мутексов, обмен информацией между приложениями и пр, очень
просто и понятно всё написано.
__
Также поможет Поиск по Форуму по: CreateProcess
(или наоборот — отобьет охоту делать эту задачу через 2 процесса)
|
|
Arsa |
Отправлено: 16.10.2006, 22:41 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 77
|
А может через командную строку это реализовать. По-моему реально! |
|
olegenty |
Отправлено: 17.10.2006, 07:34 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
тогда уж сервис + управляющая консоль
|
|