Question
Nous avons plusieurs applications MFC qui utilisent CMutex (false, "blah"), où "blah". permet au mutex de fonctionner au-delà des limites du processus.
L'une de ces applications a été réécrite sans MFC (en utilisant Qt à la place). Comment puis-je simuler le CMutex à l'aide d'appels Win32? (Le QMutex de Qt n'est pas inter-processus.) Je préfère ne pas modifier les applications MFC.
La solution
Pour les mutex inter-processus, vous souhaitez ces appels:
Ce sont les appels d'API Win32 sous-jacents que CMutex est un wrapper.
Pour les mutex en cours de traitement uniquement, vous pouvez également utiliser ces appels, qui sont plus rapides:
Autres conseils
Les fonctions suivantes seront probablement ce que vous voulez, elles sont toutes documentées sur MSDN.
CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)