Вопрос
У нас есть несколько приложений MFC, которые используют CMutex (false, "blah" ), где "blah" позволяет мьютексу работать вне границ процесса.
Одно из этих приложений было переписано без MFC (вместо этого используя Qt).Как я могу имитировать CMutex с помощью вызовов Win32?(QMutex Qt не является межпроцессным.) Я предпочитаю не изменять приложения MFC.
Решение
Для межпроцессных мьютексов вам нужны следующие вызовы:
Это базовые вызовы Win32 API, оболочкой для которых является CMutex.
Для мьютексов только во время процесса вы также можете использовать эти вызовы, которые выполняются быстрее:
Другие советы
Следующие функции, вероятно, будут тем, что вам нужно, все они задокументированы в MSDN.
CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
Не связан с StackOverflow