banboshi_V1/halftoneproject-master/Code/Program.cs
2023-10-31 13:19:29 +08:00

85 lines
2.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[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<DefectInfo>() {
// 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;
}
}
}