我正在研究多实例应用程序。c# 中有什么方法可以知道当前正在运行多少个实例。
我使用一段代码来计算我的应用程序名称的窗口进程,但这不是一个好方法。
string fileName = Process.GetCurrentProcess().MainModule.FileName;
int count = 0;
foreach (Process p in Process.GetProcesses())
{
try
{
if (p.MainModule.FileName == fileName)
{
count++;
}
}
catch { }
}
MessageBox.Show("Total Instances Running are " + count);
是否可以通过使用信号量或一些增量和减量计数器来完成,该计数器在创建新实例时加一,在实例关闭时减一。