static void Main()
        {
            //string productPath;
            try
            {
                bool runone;
                System.Threading.Mutex run = new System.Threading.Mutex(true, "xinbiao_a_test", out runone);
                if (runone)
                {
                    run.ReleaseMutex();
#if DEBUG
                    /* This is a special debug setting needed only for GigE cameras.
                     * See 'Building Applications with pylon' in the Programmer's Guide. */
                    Environment.SetEnvironmentVariable("PYLON_GIGE_HEARTBEAT", "300000" /*ms*/);
#endif
                    //Pylon.Initialize();
                    int cards = 0;

                    cards = PCI408.PCI408_card_init();
                    if (cards == 0)
                    {
                        MessageBox.Show("运动控制卡丢失");
                    }
                    else if (cards > 8)
                    {
                        MessageBox.Show("运动控制卡初始化错误 错误号: " + cards.ToString());
                    }
                    HOperatorSet.SetSystem("do_low_error", "false");
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    //Application.Run(new MainForm());
                    SplashWindow.LoadAndRun(new MainForm());
                    //Pylon.Terminate();
                }
                else
                {
                    MessageBox.Show("视觉软件已经打开。");
                }
            }
            catch (Exception ex)
            {
                var trace = new StackTrace(ex, true).GetFrame(0);
                //LOG log = new LOG();
                string s = string.Format("文件名:{0},行号:{1}, 函数名 :{2}", trace.GetFileName(), trace.GetFileLineNumber(), trace.GetMethod());
                //log.WriteLogFile(s);
                Debug.Print(ex.Message);
                Debug.Print(s);
            }
            finally
            {
                // Pylon.Terminate();
                PCI408.PCI408_board_close();
            }
        }