当我这样做时:
using (Mutex MyMutex = new Mutex(true, Environment.CurrentDirectory))
{
}
抛出System.IO.DirectoryNotFoundException
。我在这里看到其他问题,解决了如何避免将\
替换为.
或-
之类的问题,但我想知道为什么它是这样做。为什么尝试将互斥锁名称解析为路径?它不会尝试将asdf
解析为路径。这是怎么回事?
答案 0 :(得分:1)
Mutex是在名为ObjectDirectory的商店中创建的,所有Mutex键实际上都是此商店中的路径。您已经给出了绝对路径这一事实意味着实施将尝试解决这个问题。在这里阅读win32文档
http://msdn.microsoft.com/en-gb/library/windows/desktop/ms682411(v=vs.85).aspx