Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

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

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

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

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


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

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

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

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


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

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


 
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, после чего немедленно завершает свою работу


 
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:30) [3]

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


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

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


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

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



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

Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
3-1082021831
Manfred7
2004-04-15 13:37
2004.05.09
База на Acces. Как обеспечивать блокировку изменяемых записей?


14-1081172037
VMcL
2004-04-05 17:33
2004.05.09
Поголубел :))


14-1082191531
zaxxx
2004-04-17 12:45
2004.05.09
Кто-нить знает нормальные сайты по Дельфи?


3-1082007252
Evgenija
2004-04-15 09:34
2004.05.09
Подсоединение к базе Оракла


3-1081842986
avgur
2004-04-13 11:56
2004.05.09
Константы для Delphi 6.0





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский