C# 要求该程序的进程在同一操作系统中只能打开一个
答案:4 悬赏:80
解决时间 2021-01-08 01:59
- 提问者网友:咪咪
- 2021-01-07 20:57
C# 要求该程序的进程在同一操作系统中只能打开一个
最佳答案
- 二级知识专家网友:你可爱的野爹
- 2021-01-07 21:20
Process[] tProcess=Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
if (tProcess.Length >1)
Application.Exit() ;
else
Application.Run(new Form1());
if (tProcess.Length >1)
Application.Exit() ;
else
Application.Run(new Form1());
全部回答
- 1楼网友:不如潦草
- 2021-01-07 23:24
(*^__^*) 嘻嘻你是想运行程序只能打开一个吗?
- 2楼网友:酒安江南
- 2021-01-07 22:33
在 项目/属性 中把 启动项改成Program.cs然后在 Program.cs 中先引入using System.Diagnostics;然后在Main里写入以下的代码
Process[] tProcess=Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
if (tProcess.Length >1)
Application.Exit() ;
else
Application.Run(new Form1());
Process[] tProcess=Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
if (tProcess.Length >1)
Application.Exit() ;
else
Application.Run(new Form1());
- 3楼网友:傲气稳了全场
- 2021-01-07 22:24
用mutex就可以了,获取进程名的方法太死板,exe改个名字没就用了
using System;
using System.Threading;
class Program {
static void Main(string[] args)
{
bool f;
Mutex m = new Mutex(true, "xxx", out f);
if(!f) {
Console.WriteLine("不能同时本运行程序两次");
return;
}
Console.WriteLine("启动成功!");
Console.ReadLine();
}
}
using System;
using System.Threading;
class Program {
static void Main(string[] args)
{
bool f;
Mutex m = new Mutex(true, "xxx", out f);
if(!f) {
Console.WriteLine("不能同时本运行程序两次");
return;
}
Console.WriteLine("启动成功!");
Console.ReadLine();
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯