C#中程序的互斥运行

原创 2004年09月16日 15:13:00

Using System;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Using System.Drawing;

Using System.Collections;

Using System.ComponentModel;

Using System.Windows.Forms;

Using System.Data;

Using System.Threading;

namespace exam_使用程序只能够运行一个

{

pulic class Forms:System.Windows.Forms.Form

{

   [STAThread]

   static void <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Main()

     {

     bool  createdNew;

      Mutex m=new Mutext(true,”test”,out createdNew);

            if (createdNew)

              {

Application.Run(new Form1());

m.ReleaseMutex();

             }

          else

             {

Messagebox.Show(“本程序只允许同时运行一个”);

             }

     }

 }

}

程序通过Mutex m=new Mutext(true,”test”,out createdNew);语句创建一个互斥体变量m,其中true参数表示调用线程拥有互斥体的初始所属权,test为互斥体名,并且将调用线程是否已被授权互斥体的初始所属权的布尔值保存在createdNew变量中。然后通过判断该变量值决定是否启动本程序,如果为true,则无正在运行的本实例,通过Application.Run(new Form1())语句启动程序;否则显示一个对话框并结束程序运行。

C#利用Mutex互斥量实现同时只有一个进程实例在运行

我们在做程序时,有时候希望在一台电脑上面只有一个进程实例在运行,利用Mutex互斥量可以实现了这个功能,方法及步骤如下:关于互斥量Mutex的理解及用法可以参考博客http://blog.csdn.n...
  • xwdpepsi
  • xwdpepsi
  • 2011年07月18日 14:49
  • 8360

C# 窗体运行前,检查是否互斥

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys...
  • taoerit
  • taoerit
  • 2015年11月24日 23:01
  • 512

C#如何防止程序多次运行的技巧

http://www.aspku.com/kaifa/cjc/131414.html 一、引言 最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如:  http://s...
  • u011981242
  • u011981242
  • 2016年05月07日 15:50
  • 1908

C++程序互斥方法

C++程序互斥方法
  • u011261430
  • u011261430
  • 2016年10月12日 14:16
  • 641

只允许运行一个实例的程序(互斥程序)

有的时候我们需要编写出的应用程序在同一时间只允许运行一个实例,运行第二个实例时提示用户“该程序已经运行”。这是很老土的表示方法,但很灵验。我找到了三种限制程序实例被多次运行的方法,它们有各自的优点,一...
  • dadahacker
  • dadahacker
  • 2009年08月29日 12:03
  • 1216

C# 中线程资源访问互斥量

使用mutex,进行互斥访问 示例中运行第一个窗口显示running 此时运行第二个窗口显示 空白 处于等待。若在5秒内在第一个窗口中输入,将释放资源,此时第二个窗口将显示running usi...
  • conquerwave
  • conquerwave
  • 2016年02月29日 20:44
  • 1035

关于互斥执行的设计与实现

引言 我在开发过程中经常遇到这样一个问题(简化版描述):一个文本框绑定了TextChanged事件,在另一个方法中我想要改变文本框的值却不想触发TextChanged事件。 一般会使用如下方案解决...
  • Yokeqi
  • Yokeqi
  • 2015年06月27日 12:34
  • 1088

Winform RadioButton互斥

先拖一个GroupBox,在GroupBox里添加RadioButton,同一个容器里的RadioButton之间是互斥的;不同容器间是不相关的。...
  • World3000
  • World3000
  • 2013年09月29日 08:47
  • 2091

一种c#实现的函数互斥的方法

using System; using System.Runtime.CompilerServices; //引入该包 /// ///Test的摘要说明 /// public class Test...
  • donhao
  • donhao
  • 2011年08月14日 00:45
  • 564

C#多线程之互斥

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
  • adream307
  • adream307
  • 2012年05月14日 20:32
  • 3834
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#中程序的互斥运行
举报原因:
原因补充:

(最多只允许输入30个字)