| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- using System;
- using System.Threading;
- using System.Windows.Forms;
- namespace ErpServer
- {
- static class Program
- {
- //private const string APP_NAME = "Global\\ErpServer";//ErpServer
- private static readonly string iniFile = Application.StartupPath + "\\config.ini";
- /// <summary>
- /// 应用程序的主入口点。
- /// </summary>
- [STAThread]
- static void Main()
- {
- try
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- //处理UI线程异常
- Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
- //处理非UI线程异常
- AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
- string APP_NAME = INI.GetIniValue("Global", "AppName", iniFile);
- if (APP_NAME == "") APP_NAME = "Global\\ErpServer";
- else APP_NAME = "Global\\" + APP_NAME;
- Mutex mutex = new Mutex(false, APP_NAME);
- bool Running = !mutex.WaitOne(0, false);
- if (!Running)
- {
- Application.Run(new MainForm());
- }
- else
- {
- MessageBox.Show("程序己运行!");
- Environment.Exit(0);
- }
- }
- catch (Exception ex)
- {
- string str = "";
- string strDateInfo = "出现应用程序未处理的异常:" + DateTime.Now.ToString() + "\r\n";
- if (ex != null)
- {
- str = string.Format(strDateInfo + "异常类型:{0}\r\n异常消息:{1}\r\n异常信息:{2}\r\n",
- ex.GetType().Name, ex.Message, ex.StackTrace);
- }
- else
- {
- str = string.Format("应用程序线程错误:{0}", ex);
- }
- helper.writeLog(str);
- Environment.Exit(-1);
- }
- finally
- {
- }
- }
- private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
- {
- string str = "";
- Exception error = e.ExceptionObject as Exception;
- string strDateInfo = "出现应用程序未处理的异常:" + DateTime.Now.ToString() + "\r\n";
- if (error != null)
- {
- str = string.Format(strDateInfo + "Application UnhandledException:{0};\n\r堆栈信息:{1}", error.Message, error.StackTrace);
- }
- else
- {
- str = string.Format("Application UnhandledError:{0}", e);
- }
- helper.writeLog(str);
- Environment.Exit(-1);
- }
- private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
- {
- string str = "";
- string strDateInfo = "出现应用程序未处理的异常:" + DateTime.Now.ToString() + "\r\n";
- Exception error = e.Exception as Exception;
- if (error != null)
- {
- str = string.Format(strDateInfo + "异常类型:{0}\r\n异常消息:{1}\r\n异常信息:{2}\r\n",
- error.GetType().Name, error.Message, error.StackTrace);
- }
- else
- {
- str = string.Format("应用程序线程错误:{0}", e);
- }
- helper.writeLog(str);
- Environment.Exit(-1);
- }
- }
- }
|