Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

При запуске второй копии программы восстанавливать из трея первую [D7]


snake-as ©   (2011-04-10 09:34:00) 

Собственно, вопрос в теме. Есть программа, сворачиывается в трей, как сделать так, чтобы когда пользователь открывает вторую копию программы, вызывалась некая функция из первой. Вариантов много нашел, чтобы не допустить второй запуск, но вызвать процедуру - нет. Подскажите, пожалуйста. Заранее спасибо.


sniknik   (2011-04-10 11:19:00) [1]

Hndl:= FindWindow('TForm1', nil);
if Hndl > 0 then
 PostMessage(Hndl, WM_SELFRESTORE, 0, 0);


из под IDE работать не будет, скорее всего, т.к. там тоже открыта форма TForm1 в дизайне.


Сергей   (2011-04-10 10:17:00) [2]


> не сворачивается... что за глупости. просто иконку там показывает.

да понятно) просто так сказал.

Спасибо за ответ. Пример бы не помешал, конечно. Чтобы наглядно посмотреть.


sniknik   (2011-04-10 10:12:00) [3]

> Есть программа, сворачиывается в трей
не сворачивается... что за глупости. просто иконку там показывает.

> вызывалась некая функция из первой.
варианты с поиском окна находил? вот найдя окно посылай в него собственное событие... по нему принимающая программа должна выполнять нужные действия (функции из первой), что за функция (ее числовой код/придумать), можно передавить в параметре.

> При запуске второй копии программы восстанавливать из трея первую
пошли событие с вызовом функции "восстановления" в первой. такая в ней обязательно должна быть (ведь как то она разворачивается).

> но вызвать процедуру - нет.
выше, это не будет в прямом смысле вызовам процедуры из первой...
чтобы "прямо" соответствовало, и типа вызвать, нужно программу в виде ActivX сервера писать, тогда к нему можно будет подключаться, и вызывать функции. правда это будет посложнее в реализации.

p.s. первый способ тоже "не без греха". в висте/вин7 события без специального разрешения могут не проходить...


Anatoly Podgoretsky   (2011-04-10 10:11:00) [4]

> snake-as  (10.04.2011 09:34:00)  [0]

Сообщение пошли


Наверх

Титульная страница Поиск, карта сайта Написать письмо