如何判断exe已经运行,如已运行如何将其当前运行窗体显示到最前面? 如何判断exe已经运行,如已运行如何将其当前运行窗体显示到最前面?比如我程序的exe名称为aa.exe 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 功过Process或者Mutex来实现举例if(Process.GetProcessesByName(myexe).Length==0)...else.. System.Diagnostics.Process.GetProcessesByName("aa.exe").Length>1 表示已经运行 前面的同志们已经回答了如何防止多次启动,如果你的应用程序名称比较复杂的话其实用process的方案也是挺合理的。至于窗口最前面。formMain.TopMost = true;就可以了。 给出使用Mutex的方案,使用Mutex的方案可以应对修改了可执行文件名称的方案,用这套方案最保险。static void Main() { string pID = "Main"; Mutex m = new Mutex(false, pID); if(m.WaitOne(0, false) == true) { Application.Run(new Form1()); m.ReleaseMutex(); } else { MessageBox.Show("程序已运行!"); } m.Close(); } C# winform 连续弹出窗体的问题 【求教】关于visifirechart的两个问题 c# 查找替换字符?怎么弄? 用VS2005制作安装包的大问题? .net和sql中间层 c#里的匿名类是否支持生成带set方法的属性? 自定义控件无法刷新的问题 当关闭一个web窗体后怎么使另一个窗体刷新! vs 2005 异步调用,等待返回值后再进行下一步,如何等待返回值? 怎么打印一个.doc文件 请问C#窗体属性中有没有属性来来根据分辨率来调整窗体和其中控件大小位置的? 有关AForge.Imaging.dll的商业使用问题
举例
if(Process.GetProcessesByName(myexe).Length==0)
...
else
..
formMain.TopMost = true;
就可以了。
{
string pID = "Main";
Mutex m = new Mutex(false, pID);
if(m.WaitOne(0, false) == true)
{
Application.Run(new Form1());
m.ReleaseMutex();
}
else
{
MessageBox.Show("程序已运行!");
}
m.Close();
}