我正在研究多实例应用程序.在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);
Run Code Online (Sandbox Code Playgroud)
可以通过使用信号量或一些递增和递减计数器来完成,该计数器在创建新实例时递增1并在实例关闭时递减1.
| 归档时间: |
|
| 查看次数: |
1266 次 |
| 最近记录: |