using Models; using ProductionControl.UI; using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading; using System.Windows.Forms; namespace ProductionControl { internal static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main() { //Application.Run(new Form3()); //return; //byte[] buff = File.ReadAllBytes(@"D:\AZTCode\HBBank\证书\国mi-生产证书ssl\CFCA_ACS_SM2_OCA31.cer"); //string s = Convert.ToBase64String(buff); //string bmppath = @"f:\abc.bmp"; //Order order=new Order(); //order.DefectInfoList = new List() { // new DefectInfo(){ X=100,Y=100, Code="dk"}, // new DefectInfo(){ X=200,Y=100, Code="dk"}, // new DefectInfo(){ X=100,Y=200, Code="zk"}, // new DefectInfo(){ X=200,Y=220, Code="xws"}, //}; //Application.Run(new FrmShowDefectImage(bmppath, order)); //return; Thread.Sleep(500); Process instance = RunningInstance(); if (instance == null) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Config.LoadAllConfig(); Service.InitDB.ConnectionString = Config.DBConStr; //Application.Run(new FrmScannerShow2(new Size(300,300))); Application.Run(new FrmLogin()); } else { MessageBox.Show("当前程序已经运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, 0); } } //不允许有两个程序同时启动 public static Process RunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName(current.ProcessName); //遍历正在有相同名字运行的例程 foreach (Process process in processes) { //忽略现有的例程 if (process.Id != current.Id) { //确保例程从EXE文件运行 if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName) { //返回另一个例程实例 return process; } } } //没有其它的例程,返回Null return null; } } }