From 2337f47091dbcc1a681f63fc18d9b8d28ab22296 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期日, 04 一月 2026 16:12:32 +0800
Subject: [PATCH] 优化登录界面。

---
 LB_SmartVision/images/favicon.ico                  |    0 
 LB_SmartVision/images/05.png                       |    0 
 LB_SmartVision/images/02.png                       |    0 
 LB_SmartVision/images/lanbao.jpg                   |    0 
 LB_SmartVisionLoginUI/App.xaml.cs                  |    2 
 LB_SmartVision/images/04.png                       |    0 
 LB_SmartVision/images/键盘.ico                       |    0 
 LB_SmartVision/images/06.png                       |    0 
 LB_SmartVision/images/logo_h.png                   |    0 
 /dev/null                                          |    6 ---
 LB_SmartVision/images/03.png                       |    0 
 LB_SmartVision/images/logo.ico                     |    0 
 LB_SmartVision/images/07.png                       |    0 
 LB_SmartVision/Program.cs                          |   72 ++++++++++++++++++++++++++++++++++--
 LB_SmartVision/images/01.JPG                       |    0 
 LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj |    1 
 16 files changed, 70 insertions(+), 11 deletions(-)

diff --git a/LB_SmartVision/Program.cs b/LB_SmartVision/Program.cs
index e0369dd..1885513 100644
--- a/LB_SmartVision/Program.cs
+++ b/LB_SmartVision/Program.cs
@@ -1,3 +1,6 @@
+using LB_SmartVisionLoginUI;
+using System.Text;
+
 namespace LB_SmartVision
 {
     internal static class Program
@@ -8,10 +11,71 @@
         [STAThread]
         static void Main()
         {
-            // To customize application configuration such as set high DPI settings or default font,
-            // see https://aka.ms/applicationconfiguration.
-            ApplicationConfiguration.Initialize();
-            Application.Run(new VisionForm());
+            try
+            {
+                string halconDir = Environment.GetEnvironmentVariable("HALCONROOT");
+                if (string.IsNullOrEmpty(halconDir) || !Directory.Exists(halconDir))
+                {
+                    System.Windows.Forms.MessageBox.Show("环境变量缺少HALCONROOT,请确认是否安装正确!");
+                }
+                else
+                {
+                    bool ret;
+                    System.Threading.Mutex mutex = new System.Threading.Mutex(true, System.Windows.Forms.Application.ProductName, out ret);
+                    if (ret)
+                    {
+                        MainWindow.InstanceLoginandConfirmation().ShowDialog();
+                        if (!MainWindow.InstanceLoginandConfirmation().isQuit && MainWindow.InstanceLoginandConfirmation().correctUser)
+                        {
+                            MainWindow.InstanceLoginandConfirmation().closeLoginFrm();
+                            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+                            System.Windows.Forms.Application.EnableVisualStyles();
+                            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
+                            System.Windows.Forms.Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
+                            System.Windows.Forms.Application.ThreadException += (sender, e) => HandleException(e.Exception);
+                            AppDomain.CurrentDomain.UnhandledException += (sender, e) => HandleException(e.ExceptionObject as Exception);
+                            // To customize application configuration such as set high DPI settings or default font,
+                            // see https://aka.ms/applicationconfiguration.
+                            System.Windows.Forms.Application.Run(new VisionForm());
+                        }
+                        //   Main   为你程序的主窗体,如果是控制台程序不用这句   
+                        mutex.ReleaseMutex();
+                    }
+                    else
+                    {
+                        System.Windows.Forms.MessageBox.Show("有一个和本程序相同的应用程序已经在运行,请不要同时运行多个本程序。\r\n这个程序即将退出。", System.Windows.Forms.Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                        //   提示信息,可以删除。   
+                        System.Windows.Forms.Application.Exit();//退出程序   
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                if (null != ex)
+                {
+                    string strMsg = "InitControl failed. Error Code: " + ex.Message;
+                    System.Windows.Forms.MessageBox.Show(strMsg);
+                }
+                else
+                {
+                    return;
+                }
+            }
+
+        }
+
+        static void HandleException(Exception ex)
+        {
+            // 记录异常信息
+            string logPath = @"\Logs\app_crash.log";
+            Directory.CreateDirectory(Path.GetDirectoryName(logPath));
+            File.AppendAllText(logPath, $"{DateTime.Now}: {ex}\n");
+
+            // 显示错误信息(可选)
+            System.Windows.Forms.MessageBox.Show($"程序发生错误: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+            // 退出程序
+            Environment.Exit(1);
         }
     }
 }
\ No newline at end of file
diff --git a/LB_SmartVision/images/01.JPG b/LB_SmartVision/images/01.JPG
new file mode 100644
index 0000000..8e0a603
--- /dev/null
+++ b/LB_SmartVision/images/01.JPG
Binary files differ
diff --git a/LB_SmartVision/images/02.png b/LB_SmartVision/images/02.png
new file mode 100644
index 0000000..442c206
--- /dev/null
+++ b/LB_SmartVision/images/02.png
Binary files differ
diff --git a/LB_SmartVision/images/03.png b/LB_SmartVision/images/03.png
new file mode 100644
index 0000000..04b53b8
--- /dev/null
+++ b/LB_SmartVision/images/03.png
Binary files differ
diff --git a/LB_SmartVision/images/04.png b/LB_SmartVision/images/04.png
new file mode 100644
index 0000000..2f29be3
--- /dev/null
+++ b/LB_SmartVision/images/04.png
Binary files differ
diff --git a/LB_SmartVision/images/05.png b/LB_SmartVision/images/05.png
new file mode 100644
index 0000000..f72676c
--- /dev/null
+++ b/LB_SmartVision/images/05.png
Binary files differ
diff --git a/LB_SmartVision/images/06.png b/LB_SmartVision/images/06.png
new file mode 100644
index 0000000..73dfbce
--- /dev/null
+++ b/LB_SmartVision/images/06.png
Binary files differ
diff --git a/LB_SmartVision/images/07.png b/LB_SmartVision/images/07.png
new file mode 100644
index 0000000..c75e5bc
--- /dev/null
+++ b/LB_SmartVision/images/07.png
Binary files differ
diff --git a/LB_SmartVision/images/favicon.ico b/LB_SmartVision/images/favicon.ico
new file mode 100644
index 0000000..cd4ac1c
--- /dev/null
+++ b/LB_SmartVision/images/favicon.ico
Binary files differ
diff --git a/LB_SmartVision/images/lanbao.jpg b/LB_SmartVision/images/lanbao.jpg
new file mode 100644
index 0000000..159cab2
--- /dev/null
+++ b/LB_SmartVision/images/lanbao.jpg
Binary files differ
diff --git a/LB_SmartVision/images/logo.ico b/LB_SmartVision/images/logo.ico
new file mode 100644
index 0000000..5887476
--- /dev/null
+++ b/LB_SmartVision/images/logo.ico
Binary files differ
diff --git a/LB_SmartVision/images/logo_h.png b/LB_SmartVision/images/logo_h.png
new file mode 100644
index 0000000..dd1d0b6
--- /dev/null
+++ b/LB_SmartVision/images/logo_h.png
Binary files differ
diff --git "a/LB_SmartVision/images/\351\224\256\347\233\230.ico" "b/LB_SmartVision/images/\351\224\256\347\233\230.ico"
new file mode 100644
index 0000000..135f336
--- /dev/null
+++ "b/LB_SmartVision/images/\351\224\256\347\233\230.ico"
Binary files differ
diff --git a/LB_SmartVisionLoginUI/App.config b/LB_SmartVisionLoginUI/App.config
deleted file mode 100644
index ecdcf8a..0000000
--- a/LB_SmartVisionLoginUI/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-    <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
-    </startup>
-</configuration>
diff --git a/LB_SmartVisionLoginUI/App.xaml.cs b/LB_SmartVisionLoginUI/App.xaml.cs
index 0309187..3969cb7 100644
--- a/LB_SmartVisionLoginUI/App.xaml.cs
+++ b/LB_SmartVisionLoginUI/App.xaml.cs
@@ -11,7 +11,7 @@
     /// <summary>
     /// App.xaml 鐨勪氦浜掗�昏緫
     /// </summary>
-    public partial class App : Application
+    public partial class App : System.Windows.Application
     {
     }
 }
diff --git a/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj b/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj
index 40a464c..87e27cb 100644
--- a/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj
+++ b/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj
@@ -6,6 +6,7 @@
     <Nullable>enable</Nullable>
     <ImplicitUsings>enable</ImplicitUsings>
     <UseWPF>true</UseWPF>
+    <UseWindowsForms>True</UseWindowsForms>
   </PropertyGroup>
 
   <ItemGroup>

--
Gitblit v1.9.3