亲,核心编程中讲过跨进程访问内核对象句柄第三种方式:使用命名的内核对象的方式,这里CreateMutex就是用的命名的内核对象,所以即使在另一个进程中也是可以直接使用的,所以你说的第二次拿到的是无效句柄这里不对。MSDN:If the mutex is a named mutex and the object existed before this function call, the return value is a handle to the existing object, and the GetLastError function returns ERROR_ALREADY_EXISTS.