![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Garmahis |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 23.12.2004 Репутация: нет Всего: 4 |
Задача проверки проста и избита, если эта программа уже запущена то развернуть запущенный экземпляр и передать ему фокус. Проблема же в том что программа минимизируется в системный трей. это делается с помощью компонета CoolTrayIcon. И вызывается она при клике на иконке командой CoolTrayIcon1.ShowMainForm; Как мне её запустить?
Вот код:
|
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
А зачем окно искать? Ищи процесс. И если он есть, посылай Windows message. А в своей программе отлавливай это сообщение и делай CoolTrayIcon1.ShowMainForm
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
И если их будет больше чем один (один - это тот, который мы запустити) то
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Marlin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Sunvas - нет лучше сделать проверку в начале программы, если процес найден, тогда послать ему сообщение, а текущий процес закрыть , чем искать второй процес.
--------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
| AKN |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.11.2005 Репутация: нет Всего: нет |
и ты найдешь текущий процесс, передашь ему сообщение и закроешь. Проще разрешить эту проблему через захват уникального идентификатора, чем искать процессы:
|
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
AKN, на атомах делать проверку присутствия другого процесса того же приложения, не есть хорошо,
т.к. если приложение зависнет, второе уже не запустишь Делать надо или на мютексах или на чем то похожем Добавлено @ 20:03 http://forum.vingrad.ru/index.php?showtopi...%BC%D0%BC%D0%AB Здесь смотри -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Допустим я попросту киляну процесс диспетчером задач. Ты же более программу в этом сеансе не запустишь. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |