Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184958
  • 博文数量: 33
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-01 11:26
文章分类

全部博文(33)

文章存档

2011年(1)

2010年(10)

2009年(18)

2008年(4)

我的朋友

分类: WINDOWS

2009-09-05 00:56:30

方法1:

static void Main()
{
 Application.EnableVisualStyles();
 Application.SetCompatibleTextRenderingDefault(false);
 if (System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length > 1)
 {
  Application.Exit();
  return;
 }
 Application.Run(new Form1());
}

 

方法2:使用mutex

 try
{
 bool ret;
 System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
 if (ret)
 {
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  System.Windows.Forms.Application.Run(new FrmMain());
  mutex.ReleaseMutex();
 }
 else
 {
  MessageBox.Show(null, "请不要同时运行多个本程序。\n这个程序即将退出。", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  //   提示信息,可以删除。  
  Application.Exit();//退出程序  
 }

}
catch (Exception ex)
{

 MessageBox.Show(ex.StackTrace);

}

阅读(629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~