求助! OpenEvent OpenSemaphore 的用法和作用,謝謝!!!不是有 CreateEvent() 和 CreateSemaphore() 以下兩個是做什麼的?HANDLE OpenEvent(
  DWORD dwDesiredAccess,  // access
  BOOL bInheritHandle,    // inheritance option
  LPCTSTR lpName          // object name
);
HANDLE OpenSemaphore(
  DWORD dwDesiredAccess,  // access
  BOOL bInheritHandle,    // inheritance option
  LPCTSTR lpName          // object name
);

解决方案 »

  1.   

    一个是事件对象,一个是信号对象,用于打开已经存在的对象,MSDN例子大把,可以参考这篇文章http://www.csdn.net/develop/author/pam/book6_2.shtm
      

  2.   

    CreateEvent() 和 CreateSemaphore() 是用来建立Event和Semaphore对象的而OpenEvent和OpenSemaphore是用来多线程程序中打开已经用Create建立的这些对象,以对其进行操作:)
      

  3.   

    楼主如果只是使用 CSemaphore类的话,那只用关注它的Lock()和Unlock()方法就好了呵呵
      

  4.   

    to  PiggyXP(【小猪】●享受VC,享受网络版●) CreateEvent() 後就可以操作了 為什麼還要 OpenEvent?我的是控制台程序,不使用CSemaphore类 直接使用API。
      

  5.   

    啊?就是CreateEvent()以后返回的Event句柄,我们根据这个Event句柄就可以对它进行控制了啊OpenEvent就是其他函数或者进程需要使用这个Event对象的时候,用OpenEvent来获得这个对象的句柄的,不是非要用啊
      

  6.   


    是不是這樣就不需要全局的Event句柄!!!
      

  7.   

    yes,使用同名event进行控制就可以了