240
08 июня 2011 года
aks
2.5K / / 14.07.2006
При старте программы если именованного семафора нету - создаете с помощью CreateSemaphore с начальным значением N. Во всех остальных случаях открываете с помощью OpenSemaphore. Если WaitForSingleObject семафора с нулевым интервалом завершился неудачно - завершаете процесс, иначе работаете. При выходе из программы делаете ReleaseSemaphore и CloseHandle.
За подробностями в MSDN.