只允许运行一个C#程序
来源:互联网 发布:数据化人生 百度百科 编辑:程序博客网 时间:2024/05/16 15:21
转自:<a target=_blank href="http://www.cnblogs.com/marssl/archive/2009/01/27/1381032.html">http://www.cnblogs.com/marssl/archive/2009/01/27/1381032.html</a>
static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { bool blnIsRunning; Mutex mutexApp = new Mutex(false, Assembly.GetExecutingAssembly().FullName, out blnIsRunning); if (!blnIsRunning) { MessageBox.Show("程序已经运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } RegIPWorks(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } #region 注册IPWorks /// <summary> /// 注册IPWorks /// </summary> private static void RegIPWorks() { try { string keyPath = "SOFTWARE\\nsoftware\\RT\\IPN8A"; RegistryKey regKey = Registry.LocalMachine.OpenSubKey(keyPath); if (regKey == null) { regKey = Registry.LocalMachine.CreateSubKey(keyPath); regKey.SetValue("", "IPN8AB-87892657-WGP-WRFDM"); regKey.SetValue("*", "B2YA-M89W-TM5J"); } regKey.Close(); } catch { CommFun.WriteSysLog("注册IPWorks产生错误。"); } } #endregion 注册IPWorks }
<pre name="code" class="csharp"> //=====创建互斥体法:===== //bool blnIsRunning; //Mutex mutexApp = new Mutex(false, Assembly.GetExecutingAssembly().FullName, out blnIsRunning); //if (!blnIsRunning) //{ // MessageBox.Show("程序已经运行!", "提示", // MessageBoxButtons.OK, MessageBoxIcon.Exclamation); // return; //} //保证同时只有一个客户端在运行 //System.Threading.Mutex mutexMyapplication = new System.Threading.Mutex(false, "OnePorcess.exe"); //if (!mutexMyapplication.WaitOne(100, false)) //{ // MessageBox.Show("程序" + Application.ProductName + "已经运行!", Application.ProductName, // MessageBoxButtons.OK, MessageBoxIcon.Error); // return; //} //=====判断进程法:(修改程序名字后依然能执行)===== //Process current = Process.GetCurrentProcess(); //Process[] processes = Process.GetProcessesByName(current.ProcessName); //foreach (Process process in processes) //{ // if (process.Id != current.Id) // { // if (process.MainModule.FileName // == current.MainModule.FileName) // { // MessageBox.Show("程序已经运行!", Application.ProductName, // MessageBoxButtons.OK, MessageBoxIcon.Exclamation); // return; // } // } //}
http://www.cnblogs.com/marssl/archive/2009/01/27/1381032.html
0 0
- c#只允许运行一个程序(转载)
- 只允许运行一个C#程序
- 只允许运行一个程序
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C# 程序只允许运行一个实例的正确代码
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C# Winform程序只允许运行一个实例
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C# 只允许运行一个实例
- C# 只允许运行一个实例
- hiero使用
- 图像分割各算法简称
- tar命令的详细解释
- 对类的简单实用(其中用作用域的使用)
- 深入正则表达式应用
- 只允许运行一个C#程序
- 关于冷备份与热备份的对比
- 源代码安全是软件开发企业健康发展的核心要务
- ICTCLAS 汉语词性标注集 中科院
- spring 类注解的作用
- Android真机连接Eclipse时,打不开File Explorer下的data文件夹解决方法(转)
- Android平台调用WebService详解
- 重新格式化HDFS的方法
- python-Django部署运行(二)