interacționând cu un CMutex fără MFC

Avem mai multe aplicații MFC, care folosesc CMutex (false, "blah"), unde "blah" permite mutexului să lucreze peste granițele procesului.

Una dintre aceste aplicații a fost re-scrisă fără MFC (folosind Qt în schimb). Cum pot simula CMutex folosind apelurile Win32? (QT's QMutex nu este interproces.) Prefer să nu modific aplicațiile MFC.

0

2 răspunsuri

Pentru mutexurile între procese doriți aceste apeluri:

CreateMutex

     

WaitForSingleObject

     

ReleaseMutex

     

CloseHandle

Acestea sunt apelurile API de la Win32, pe care CMutex le înconjoară.

Pentru mutex-urile numai în proces, puteți utiliza și aceste apeluri, care sunt mai rapide:

InitializeCriticalSection

     

EnterCriticalSection

     

LeaveCriticalSection

     

DeleteCriticalSection

0
adăugat

The following funcs will probably be what you want, they are all documented on MSDN.

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
0
adăugat