use criticalsession, mutex or event.
jansen zhu

解决方案 »

  1.   

    use named criticalsession, mutex or event.
      

  2.   

    Win32中的CriticalSection是不能使用名字的,而且只能在同一个进程中使用。
    进程间同步的方法很多,要看具体的要求才能决定。
      

  3.   

    //Create mutex for mutual exclusion 
    HANDLE hMutex; 
    hMutex = CreateMutex( NULL, true,"MutexToProtect");//critical session
     
    //release the mutex
    ::ReleaseMutex(hMutex);
    ::CloseHandle(hMutex);
      

  4.   

    最简单的方法是用全局变量进行同步与互斥。但这不是一种推荐的方法。
    使用CEvent
    CEvent hEvent;
    WaitForSingleObject(hEvent,INFINITE);
    定义一个CEvent对象,然后在要求同步或互斥的时hEvent.SetEvent;在要求停止时hEvent.ResetEvent()就可以了。当然,这里面就用到了CEvent类来进行同步与互斥进行操作。对于Mutex和CriticalSession使用方法也类似,你也可以参考一下VC6技术内幕,里面有一些介绍。