Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Как по полученному мьютексу вывести приложение вперед?   Найти похожие ветки 

 
Aleksandr ©   (2004-03-15 12:13) [0]

При запуске программы проверяю ее наличие при помощи

 XHM := OpenMutex(MUTEX_ALL_ACCESS, false, "ATMutex");

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


 
evvcom ©   (2004-03-15 12:22) [1]

Никак. Для этого требуется Handle окна. Поиск через EnumWindows с некоторым последующим обменом данными, чтобы удостовериться, что это то окно которое нужно, и посылкой соответствующей команды после этого.


 
Digitman ©   (2004-03-15 12:24) [2]

удобней и надежней будет воспользоваться для этой цели файлом отображенным в память (см. CreateFileMapping, MapViewOfFile)

1-й экз-р создает MMF и записывает в него хэндл своего гл.окна
2-й экз-р пытается создать/открыть MMF, получает отказ (MMF уже открыт 1-м экз-ром), считывает из MMF хэндл гл.окна 1-го экз-ра и посылает ему WM_ACTIVATEAPP, после чего немедленно завершает свою работу


 
Aleksandr ©   (2004-03-15 12:30) [3]

Ясна. Спасибо.


 
Aleksandr ©   (2004-03-15 12:44) [4]

Удалено модератором
Примечание: Дубль



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.059 c
1-1080295137
Хэтч
2004-03-26 12:58
2004.04.11
Как сделать, чтобы при нажатии на Button рисовалась стрелочка ?


4-1075978820
Лена
2004-02-05 14:00
2004.04.11
Как по hwnd диалога получить IDD_* его шаблона?


1-1082906276
Seldon
2004-04-25 19:17
2004.04.11
Информация о Themes.pas


3-1079495625
vi007
2004-03-17 06:53
2004.04.11
Refresh данных в Interbase


1-1082538504
M@X
2004-04-21 13:08
2004.04.11
Адресация порта Longint ?? Как?