Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Взаимоисключающие приложения.


Автор: bagira 1.10.2004, 19:35
Подскажите, пожалуйста, как реализовать задачу:

Имеется два приложения.

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

После того как приложение В отработает, то при отключении оно должно вновь включить приложение А.

Возможно ли это сделать и как?
Заранее благодарна.

Автор: Vit 1.10.2004, 20:03
1) Возможно
2) Приложение может проверить наличие другого приложения по классу окна и заголовку: FindWindow
3) Закрыть чужое приложение можно послав ему сообщение например WM_Close
4) Ну, запуск без проблем - Shellexecute, CreateProcess

Автор: bagira 1.10.2004, 20:50
Спасибо! Я попробую.

Автор: Guest 4.10.2004, 13:32
Используй:
GlobalAddAtom,
GlobalFindAtom,
GlobalDeleteAtom.

Автор: bagira 4.10.2004, 20:43
Guest , спасибо, на будущее я возьму это на заметку!
Просто уже сегодня все получилось первым предложенным способом.

Vit! Спасибо! Все заработало нормально. Вот только сначала программа долго не понимала, что такое WM_CLOSE, и выдавала ошибку smile.gif Пока, наконец, я не додумалась, добавить Messages в Uses smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)