Отвечает: Алексей Смуриков
Здравствуйте, Машенцев Сергей Николаевич!
1. Это можно сделать спомощью CreateMutex!
Т.е. первое запущенное приложение создаёт этот самый мютекс, а другие посылают сообщения (запуск или выход из той или другой копии)!
2. При запуске программы проверять все процессы и оттыскивать свой и вести подсчёт!
Приложение:
--------- Speccy Rulezz!!!
Ответ отправил: Алексей Смуриков (статус: Практикант)
Ответ отправлен: 27.05.2006, 08:57
Отвечает: Vest
Здравствуйте, Машенцев Сергей Николаевич!
Если нужно несколько экземпляров, то тут можно всё сделать с помощью семафора: HANDLE CreateSemaphore(
LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // pointer to security attributes
LONG lInitialCount, // initial count - стартовое число - в данном случае - 1 (или ноль)
LONG lMaximumCount, // maximum count - максимальное число возможных "запусков"
LPCTSTR lpName // pointer to semaphore-object name
);
Главное УДАЛЯТЬ потом этот семафор после завершения ПОСЛЕДНЕГО экземпляра приложения.
--------- Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 27.05.2006, 19:15