是否可以使用通配符检查是否创建了 Mutex?
Is it possible to check if a Mutex is created by using wildcards?
例如我的应用程序像这样创建互斥量:
MyApplication\{UserName}
然后我的更新程序(更新此应用程序)需要检查它是否已创建但它不知道用户名。
我有代码:
string mutexString = "MyApplication\User1"
bool isNew;
var mutex = new Mutex(true, mutexString , out isNew);
if(isNew)
{
//Run my program
}
如果我知道用户名就可以正常工作,但我想知道这是否可以使用通配符?
所以从评论中我觉得这是不可能的,所以更好的解决方案可能是检查我实现的 运行 流程:
foreach (var process in Process.GetProcesses())
{
if (process.MainWindowTitle.IndexOf("MyApp",StringComparison.InvariantCultureIgnoreCase) >= 0)
{
isNew = false;
}
}
例如我的应用程序像这样创建互斥量:
MyApplication\{UserName}
然后我的更新程序(更新此应用程序)需要检查它是否已创建但它不知道用户名。
我有代码:
string mutexString = "MyApplication\User1"
bool isNew;
var mutex = new Mutex(true, mutexString , out isNew);
if(isNew)
{
//Run my program
}
如果我知道用户名就可以正常工作,但我想知道这是否可以使用通配符?
所以从评论中我觉得这是不可能的,所以更好的解决方案可能是检查我实现的 运行 流程:
foreach (var process in Process.GetProcesses())
{
if (process.MainWindowTitle.IndexOf("MyApp",StringComparison.InvariantCultureIgnoreCase) >= 0)
{
isNew = false;
}
}