怎么判断一个Exe文件是否已经运行? 如: Pop.exe ,怎么判断它是否已经运行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if (System.Diagnostics.Process.GetProcessesByName("RTX.exe").Length > 1)这个好像不行 用process组件可以列出系统所有的进程,循环判断是否有名为Pop.exe的进程,有就运行了。 在进程列表中看看进程名是不是RTX.exe if (System.Diagnostics.Process.GetProcessesByName("RTX.exe").Length > 1)=============System.Diagnostics.Process[] myProcesses=System.Diagnostics.Process.GetProcessesByName("RTX.exe");if (myProcesses.Length == 0){ MessageBox.Show("No process found!"); return;} 有可能在一个进程正在启动的过程中另一个也正在启,这样两个进程查看系统中的进程的时候谁都没有查到,导致了一个结果,这两个进程会都打开!一般来说两个进程同时打开的时间很短,近似的可以使用GetProcessesByName来查看,但这不是最精确的. System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("RTX.exe");myProcesses 这个对象都是空的. 我的进程句就是“RTX.exe" string path = 程序路径 Process[] curProcess = Process.GetProcesses(); foreach (Process pro in curProcess) { try { if (pro.MainModule.FileName == path) 运行中 } catch { continue; } } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); bool isRun = true; Process cp = Process.GetCurrentProcess(); Process[] p = Process.GetProcesses(); for (int i = 0; i < p.Length; i++) { if (p[i].ProcessName == cp.ProcessName) { isRun = !isRun; } } if (isRun) { MessageBox.Show("已运行!"); Application.Exit(); } else { Application.Run(new MainForm()); } } jydqwe(闲庭漫步) 谢谢了 呵呵。 你在进程管理器中看到的是RTX.exe,那么程序中就是"RTX",不要exe,我给你的代码我测试过,没问题的。 if ( ( System.Diagnostics.Process.GetProcessesByName( System.Diagnostics.Process.GetCurrentProcess().ProcessName ).Length - 1 > 0 ) == true ){ //已经运行了。} 可以用这个System.Threading.Mutex 添加新用户时引发的一个小问题 C# 按 ,将字符串分割成片段 片段们存入字符串数组中 捣腾一上午了,没写出来,算法问题,全部身家了 怎样调出 windows自带的计算器 初学者,请指点,这么理解c#的委托和事件? C#里面用DATAGIRDVIEW导出EXECL,有出错信息~!异常来自HRESULT:0x800AC472 新手求问reflector在vs里怎么使用 一个人开发一个C#ERP,求各位大神指点用什么框架和无刷新技术 zedgraph 基准线及各曲线上的点 关于remoting的问题!谢谢! 用户控件赋值问题 高手帮忙解决一下C#读xml内容的问题?多谢
=============
System.Diagnostics.Process[] myProcesses
=System.Diagnostics.Process.GetProcessesByName("RTX.exe");if (myProcesses.Length == 0){
MessageBox.Show("No process found!");
return;
}
foreach (Process pro in curProcess)
{
try
{
if (pro.MainModule.FileName == path)
运行中
}
catch
{
continue;
}
}
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); bool isRun = true;
Process cp = Process.GetCurrentProcess();
Process[] p = Process.GetProcesses();
for (int i = 0; i < p.Length; i++)
{
if (p[i].ProcessName == cp.ProcessName)
{
isRun = !isRun;
}
} if (isRun)
{
MessageBox.Show("已运行!");
Application.Exit();
}
else
{
Application.Run(new MainForm());
}
}
{
//已经运行了。
}
System.Threading.Mutex