Domanda
Abbiamo più app MFC che utilizzano CMutex( false, "blah" ), dove "blah" consente al mutex di funzionare oltre i limiti del processo.
Una di queste app è stata riscritta senza MFC (utilizzando invece Qt).Come posso simulare il CMutex utilizzando le chiamate Win32?(QMutex di Qt non è interprocesso.) Preferisco non modificare le app MFC.
Soluzione
Per i mutex tra processi desideri queste chiamate:
Queste sono le chiamate API Win32 sottostanti di cui CMutex è un wrapper.
Per i soli mutex in-process è possibile utilizzare anche queste chiamate, che sono più veloci:
Altri suggerimenti
Le seguenti funzioni probabilmente saranno ciò che desideri, sono tutte documentate su MSDN.
CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow