新手提问,怎样让编译好的exe文件只运行一次
c#写好的代码怎样让他只运行一次啊,第二次报错!
请高手们帮写下简单的代码,希望做好注释,谢谢~
------解决方案--------------------你找的是比较规范的做法了
------解决方案--------------------Process[] processOnComputer = System.Diagnostics.Process.GetProcessesByName("进程名");
               if (processOnComputer.Length > 0)
exe启动起来会有进程,每次判断一下进程,存在了报错,不错在继续。
------解决方案--------------------C#的mutex好象有问题,在debug里可以正确的限制第2个进程运行,但是在release里是无效的
判断进程名是一个方法
------解决方案--------------------一个简单的方法是发布exe的时候配合一个valid.txt或者别的名字的文件。程序一启动检查这个文件是不是存在,存在的话就删除文件。。如果不存在,程序就报错退出。因为这个文件只会被删除一次,可以满足LZ的要求吧。
------解决方案--------------------楼上的 一启动就判断有没有这个文件  没有就直接退出  不会出错的
另外 你意思可能是第一次启动就没有  判断也是那样的
发布的时候肯定跟那个文件一起发布 
忘记包含那个文件的话就不是程序的问题了 是人的问题
------解决方案--------------------一般都是用互斥来解决的
楼主就用你搜到的方法解决吧
------解决方案--------------------static class Program
   {
       /// <summary>
       /// 应用程序的主入口点。
       /// </summary>
       [STAThread]
       static void Main()
       {
           string thisProcessName=Process.GetCurrentProcess().ProcessName;
           if (Process.GetProcessesByName(thisProcessName).Length > 1)
           {
               MessageBox.Show("系统程序已在运行,请留意桌面任务栏。", "消息", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
           }
           else
           {
               Application.EnableVisualStyles();
               Application.SetCompatibleTextRenderingDefault(false);
               Application.Run(new tlxForm());
           }
       }
   }