我有2个Windows程序,一个在Session 0运行,另一个在Session 1运行。 两个程序都使用'Global \'命名空间前缀创建相同的命名互斥锁, 会话0首先创建,当会话1尝试createMutex时,我在Windows 10上得到ERROR_ACCESS_DENIED错误,但它在Windows 7上运行正常。 两个操作系统上的互斥锁权限\安全属性\代码看起来都相同。
感谢!!!
更新:
我发现Windows 7和10之间的区别导致了这一点。 通过Process Explorer检查进程属性我可以在Win7上看到“拒绝”标志与“所有者”标志(下图)。