if(NULL == (hSemaphore = OpenSemaphore(SEMAPHORE_MODIFY_STATE , FALSE, strSemaphoreName))) { printf("打开信号量对象失败 , 错误ID:%u\n", GetLastError()); return; }
这几行删掉,你已经在主线程Create一个信号量了,就不需要重复Open了,建议仔细看看msdn。