如何防止实例重复运行???

DAMINGSHANG 2009-01-09 01:01:50
问题如题,望高手指教!!
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lunat 2009-01-09
  • 打赏
  • 举报
回复
mark一下...
风之影子 2009-01-09
  • 打赏
  • 举报
回复
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
int iProcessNum = 0;

foreach (Process singleProc in Process.GetProcesses())
{
if (singleProc.ProcessName == Process.GetCurrentProcess().ProcessName)
{
iProcessNum += 1;
}
}
if (iProcessNum == 2)
{
MessageBox.Show("【系统提示】:程序已经在运行中……", "巨安电子技术", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (iProcessNum > 2)
{
return;
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new fmLogin());
}
}
}
mysoft2004 2009-01-09
  • 打赏
  • 举报
回复
2楼正解
舞台中央的我 2009-01-09
  • 打赏
  • 举报
回复
xuexi ding[Quote=引用 2 楼 HDNGO 的回复:]
C# code
[STAThread]
static void Main()
{
bool bExist;
//使用指示调用线程是否应拥有互斥体的初始所属权的布尔值、作为互斥体名称的字符串以及在方法返回时指示调用线程是否已被授予互斥体的初始所属权的布尔值来初始化 Mutex 类的新实例。
Mutex MyMutex = new Mutex(true, "test", out bExist);
if (bExist)
{
Appl…
[/Quote]
LorenLiu 2009-01-09
  • 打赏
  • 举报
回复
什么叫实例重复运行?具体点?
lovehongyun 2009-01-09
  • 打赏
  • 举报
回复
2楼的代码就ok
HDNGO 2009-01-09
  • 打赏
  • 举报
回复

[STAThread]
static void Main()
{
bool bExist;
//使用指示调用线程是否应拥有互斥体的初始所属权的布尔值、作为互斥体名称的字符串以及在方法返回时指示调用线程是否已被授予互斥体的初始所属权的布尔值来初始化 Mutex 类的新实例。
Mutex MyMutex = new Mutex(true, "test", out bExist);
if (bExist)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
MyMutex.ReleaseMutex();
}
else
{
MessageBox.Show("程序已经运行", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
DAMINGSHANG 2009-01-09
  • 打赏
  • 举报
回复
加一句,是winfrm

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧