在没有MFC的情况下与CMutex交互

时间:2008-09-18 20:27:01

标签: qt mfc

我们有多个MFC应用程序,它们使用CMutex(false,“blah”),其中“blah”允许互斥锁跨进程边界工作。

其中一个应用程序在没有MFC的情况下重写(使用Qt代替)。如何使用Win32调用模拟CMutex? (Qt的QMutex不是进程间。)我不想修改MFC应用程序。

2 个答案:

答案 0 :(得分:3)

对于进程间互斥锁,您需要这些调用:

  

CreateMutex

     

WaitForSingleObject

     

ReleaseMutex

     

CloseHandle

这些是CMutex作为包装器的基础Win32 API调用。

对于仅在进程中的互斥锁,您还可以使用这些更快的调用:

  

InitializeCriticalSection

     

EnterCriticalSection

     

LeaveCriticalSection

     

DeleteCriticalSection

答案 1 :(得分:1)

以下功能可能就是您想要的,它们都记录在MSDN上。

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)