From ef52fd6fd07508883dce4eb002acda59f0169e59 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 23 四月 2026 10:19:33 +0800
Subject: [PATCH] 优化;

---
 HMI.LogViewer/HMI.LogViewer.csproj         |    5 
 HMI.UI/Util/MaskHolder.cs                  |   66 +++---
 HMI.LogViewer/LogViewer.xaml.cs            |  120 ++++++++++---
 HMI.LogViewer/LogViewer.xaml               |    4 
 HMI.LogViewer/LogData.cs                   |   19 ++
 Plugin.TestResult/TestResultView.xaml.cs   |   11 +
 Plugin.TsExecution/TsExecution.xaml.cs     |   27 ++-
 WPFProject/Controls/MainTabControl.xaml.cs |   15 
 WPFProject/Properties/AssemblyInfo.cs      |    4 
 WPFProject/PanuonWindow.xaml               |    1 
 Util.ManualDebug/ManualDebug.xaml.cs       |   27 +-
 WPFProject/WPFProject.sln                  |    4 
 Plugin.TestResult/SingleCell.xaml.cs       |  154 ++++++++++++++++
 Plugin.TsExecution/ScreenTouch.xaml.cs     |    6 
 WPFProject/PanuonWindow.xaml.cs            |   11 
 Plugin.TestResult/DataTable.xaml.cs        |    2 
 WPFProject/ResourceListener.cs             |    8 
 17 files changed, 370 insertions(+), 114 deletions(-)

diff --git a/HMI.LogViewer/HMI.LogViewer.csproj b/HMI.LogViewer/HMI.LogViewer.csproj
index 8eb4d95..5562106 100644
--- a/HMI.LogViewer/HMI.LogViewer.csproj
+++ b/HMI.LogViewer/HMI.LogViewer.csproj
@@ -81,6 +81,7 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
+    <Compile Include="LogData.cs" />
     <Compile Include="LogViewer.xaml.cs">
       <DependentUpon>LogViewer.xaml</DependentUpon>
       <SubType>Code</SubType>
@@ -123,6 +124,10 @@
       <Project>{f17de6b5-af1d-48c6-94a0-6b763a6546a6}</Project>
       <Name>HMI.UI</Name>
     </ProjectReference>
+    <ProjectReference Include="..\HMI.Util\HMI.Util.csproj">
+      <Project>{afea100a-9223-448d-ab10-3015d93dd98c}</Project>
+      <Name>HMI.Util</Name>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
diff --git a/HMI.LogViewer/LogData.cs b/HMI.LogViewer/LogData.cs
new file mode 100644
index 0000000..56de907
--- /dev/null
+++ b/HMI.LogViewer/LogData.cs
@@ -0,0 +1,19 @@
+锘縰sing HMI.Core;
+
+namespace HMI.LogViewer
+{
+    public class LogData
+    {
+        [ExcelColumn("绾у埆")]
+        public string level { get; set; }
+
+        [ExcelColumn("鏃堕棿")]
+        public string time { get; set; }
+
+        [ExcelColumn("鏉ユ簮")]
+        public string source { get; set; }
+
+        [ExcelColumn("鍐呭")]
+        public string text { get; set; }
+    }
+}
diff --git a/HMI.LogViewer/LogViewer.xaml b/HMI.LogViewer/LogViewer.xaml
index 004f847..55a5616 100644
--- a/HMI.LogViewer/LogViewer.xaml
+++ b/HMI.LogViewer/LogViewer.xaml
@@ -73,8 +73,8 @@
                             x:Name="queryBtn" Click="Button_Click"/>
                     <Button Style="{StaticResource ResetBtn}"
                             x:Name="resetBtn" Click="Button_Click"/>
-                    <!--<Button x:Name="exportBtn"
-                            Style="{StaticResource ExportBtn}" Click="Button_Click"/>-->
+                    <Button x:Name="exportBtn"
+                            Style="{StaticResource ExportBtn}" Click="Button_Click"/>
                 </StackPanel>
 
                 <StackPanel Style="{StaticResource ButtonGroup}" HorizontalAlignment="Left">
diff --git a/HMI.LogViewer/LogViewer.xaml.cs b/HMI.LogViewer/LogViewer.xaml.cs
index a2fc8f4..72f3461 100644
--- a/HMI.LogViewer/LogViewer.xaml.cs
+++ b/HMI.LogViewer/LogViewer.xaml.cs
@@ -1,6 +1,8 @@
 锘縰sing HMI.Base;
 using HMI.Core.Util;
 using HMI.UI.Util;
+using HMI.Util;
+using Microsoft.Win32;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -131,8 +133,26 @@
             }
         }
 
-        private void DoExport() { 
-            
+        private void DoExport()
+        {
+            try
+            {
+                SaveFileDialog sfd = new SaveFileDialog
+                {
+                    Filter = "Excel Files (*.xls)|*.xls",
+                };
+                if (sfd.ShowDialog() == true)
+                {
+                    var dt = GetDataTable(false, 1, 1, out long totalPage);
+                    ExcelHelper.ExportExcel<LogData>(sfd.FileName, dt);
+                    ToastHelper.Success(this.lang("App.ExportSuccess"));
+                }
+            }
+            catch (Exception ex)
+            {
+                log.Error("Export Log Failed.", ex);
+                MsgBoxHelper2.Error($"瀵煎嚭澶辫触: {ex.Message}");
+            }
         }
 
         private void QueryLog()
@@ -180,45 +200,89 @@
             endTimeInput.SelectedDateTime = end;
         }
 
+        public DataTable GetDataTable(bool usePage, long page, long size, out long totalPage)
+        {
+            totalPage = 0;
+            var files = GetOldDbFiles(PathHelper.LogViewerDir, new DateTime?[] { startTimeInput.SelectedDateTime,
+                endTimeInput.SelectedDateTime });
+            if (files.Length <= 0)
+            {
+                return new DataTable();
+            }
+
+            using (Sqlite3Helper helper = new Sqlite3Helper(files[0]))
+            {
+                for (int i = 0; i < files.Length; i++)
+                {
+                    var attach = $"ATTACH DATABASE '{files[i]}' AS 'db{i}'";
+                    helper.Execute(attach);
+                }
+
+                string sql = string.Join(" UNION ALL ", GetSqls(files));
+
+                string sortName = "time", sortDirection = "DESC";
+
+                string baseSql = $"SELECT level,time,source,text FROM ({sql}) as _temp";
+
+                string countSql = $"SELECT COUNT(1) FROM ({sql}) as __temp";
+
+                long total = (long)helper.SelectOne(countSql);
+                totalPage = (total / pageSize) + ((total % pageSize) > 0 ? 1 : 0);
+
+                if (usePage)
+                {
+                    sql = $"{baseSql} ORDER BY {sortName} {sortDirection} LIMIT {size} OFFSET {(page - 1) * size} ";
+                }
+                else
+                {
+                    sql = $"{baseSql} ORDER BY {sortName} {sortDirection}";
+                }
+
+                DataTable dt = helper.GetDataTable(sql);
+                return dt;
+            }
+        }
+
         private void Filtrate(long page, long size)
         {
             try
             {
-                var files = GetOldDbFiles(PathHelper.LogViewerDir, new DateTime?[] { startTimeInput.SelectedDateTime,
-                endTimeInput.SelectedDateTime });
-                if (files.Length <= 0)
-                {
-                    table.ItemsSource = new DataTable().DefaultView;
-                    return;
-                }
+                //var files = GetOldDbFiles(PathHelper.LogViewerDir, new DateTime?[] { startTimeInput.SelectedDateTime,
+                //endTimeInput.SelectedDateTime });
+                //if (files.Length <= 0)
+                //{
+                //    table.ItemsSource = new DataTable().DefaultView;
+                //    return;
+                //}
 
-                using (Sqlite3Helper helper = new Sqlite3Helper(files[0]))
-                {
-                    for (int i = 0; i < files.Length; i++)
-                    {
-                        var attach = $"ATTACH DATABASE '{files[i]}' AS 'db{i}'";
-                        helper.Execute(attach);
-                    }
+                //using (Sqlite3Helper helper = new Sqlite3Helper(files[0]))
+                //{
+                //    for (int i = 0; i < files.Length; i++)
+                //    {
+                //        var attach = $"ATTACH DATABASE '{files[i]}' AS 'db{i}'";
+                //        helper.Execute(attach);
+                //    }
 
-                    string sql = string.Join(" UNION ALL ", GetSqls(files));
+                //    string sql = string.Join(" UNION ALL ", GetSqls(files));
 
-                    string sortName = "time", sortDirection = "DESC";
+                //    string sortName = "time", sortDirection = "DESC";
 
-                    string baseSql = $"SELECT level,time,source,text FROM ({sql}) as _temp";
+                //    string baseSql = $"SELECT level,time,source,text FROM ({sql}) as _temp";
 
-                    string countSql = $"SELECT COUNT(1) FROM ({sql}) as __temp";
+                //    string countSql = $"SELECT COUNT(1) FROM ({sql}) as __temp";
 
-                    long total = (long)helper.SelectOne(countSql);
-                    long pages = (total/pageSize)+ ((total % pageSize) > 0 ? 1 : 0);
+                //    long total = (long)helper.SelectOne(countSql);
+                //    long pages = (total/pageSize)+ ((total % pageSize) > 0 ? 1 : 0);
 
-                    sql = $"{baseSql} ORDER BY {sortName} {sortDirection} LIMIT {size} OFFSET {(page - 1) * size} ";
+                //    sql = $"{baseSql} ORDER BY {sortName} {sortDirection} LIMIT {size} OFFSET {(page - 1) * size} ";
 
-                    DataTable dt = helper.GetDataTable(sql);
-                    table.ItemsSource = dt.DefaultView;
+                //    DataTable dt = helper.GetDataTable(sql);
+                //    table.ItemsSource = dt.DefaultView;
 
-                    MaxPage = pages;
-                }
-
+                //    MaxPage = pages;
+                //}
+                table.ItemsSource = GetDataTable(true, page, size, out long totalPage).DefaultView;
+                MaxPage = totalPage;
             }
             catch (Exception ex)
             {
diff --git a/HMI.UI/Util/MaskHolder.cs b/HMI.UI/Util/MaskHolder.cs
index 7303b97..0d57b18 100644
--- a/HMI.UI/Util/MaskHolder.cs
+++ b/HMI.UI/Util/MaskHolder.cs
@@ -1,43 +1,39 @@
 锘縰sing Panuon.WPF.UI;
-using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace HMI.UI.Util
 {
-    public class MaskHolder
-    {
-        private static Dictionary<WindowX, List<object>> Container;
-        private static Dictionary<object, WindowX> ReverseContainer;
+    //public class MaskHolder
+    //{
+    //    private static Dictionary<WindowX, List<object>> Container;
+    //    private static Dictionary<object, WindowX> ReverseContainer;
 
-        public static void AddMask(WindowX window, object source)
-        {
-            if (Container.ContainsKey(window))
-            {
-                Container[window].Add(source);
-            }
-            else
-            {
-                Container[window] = new List<object> { source };
-            }
-            ReverseContainer.Add(source, window);
-            window.IsMaskVisible = true;
-        }
+    //    public static void AddMask(WindowX window, object source)
+    //    {
+    //        if (Container.ContainsKey(window))
+    //        {
+    //            Container[window].Add(source);
+    //        }
+    //        else
+    //        {
+    //            Container[window] = new List<object> { source };
+    //        }
+    //        ReverseContainer.Add(source, window);
+    //        window.IsMaskVisible = true;
+    //    }
 
-        public static void RemoveMask(object source)
-        {
-            if (!ReverseContainer.ContainsKey(source))
-            {
-                return;
-            }
-            WindowX win = ReverseContainer[source];
-            if (!Container.ContainsKey(win) || Container[win] == null || Container[win].Count <= 0)
-            {
-                win.IsMaskVisible = false;
-            }
-            ReverseContainer.Remove(source);
-        }
-    }
+    //    public static void RemoveMask(object source)
+    //    {
+    //        if (!ReverseContainer.ContainsKey(source))
+    //        {
+    //            return;
+    //        }
+    //        WindowX win = ReverseContainer[source];
+    //        if (!Container.ContainsKey(win) || Container[win] == null || Container[win].Count <= 0)
+    //        {
+    //            win.IsMaskVisible = false;
+    //        }
+    //        ReverseContainer.Remove(source);
+    //    }
+    //}
 }
diff --git a/Plugin.TestResult/DataTable.xaml.cs b/Plugin.TestResult/DataTable.xaml.cs
index 2c3272e..4be9f27 100644
--- a/Plugin.TestResult/DataTable.xaml.cs
+++ b/Plugin.TestResult/DataTable.xaml.cs
@@ -92,7 +92,7 @@
             set { RaiseAndSetIfchanged(ref tcpServerInfo, value); }
         }
         public int index { get; private set; }
-        private readonly int cellCount;
+        public readonly int cellCount;
         private readonly string chartTitle;
         public readonly TestResultView parent;
 
diff --git a/Plugin.TestResult/SingleCell.xaml.cs b/Plugin.TestResult/SingleCell.xaml.cs
index 7d5659d..b9a6ab0 100644
--- a/Plugin.TestResult/SingleCell.xaml.cs
+++ b/Plugin.TestResult/SingleCell.xaml.cs
@@ -15,6 +15,7 @@
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.ComponentModel;
+using System.Dynamic;
 using System.IO;
 using System.Runtime.CompilerServices;
 using System.Windows;
@@ -616,7 +617,7 @@
             }
         }
 
-        private void NormalCSV(string filePath)
+        public void NormalCSV(string filePath)
         {
             try
             {
@@ -644,7 +645,7 @@
             }
         }
 
-        private void ReverseCSV(string filePath)
+        public void ReverseCSV_Bak(string filePath)
         {
             try
             {
@@ -720,6 +721,150 @@
                         datas.Add(new string[titleRow.Count]);
                     }
                     var arr = datas[rowPoint];
+                    arr[col] = info.value;
+
+
+                    if (!string.IsNullOrEmpty(info.limitDown))
+                    {
+                        string key2 = $"{info.step}涓嬮檺";
+                        int col2 = titleRow.IndexOf(key2);
+                        arr[col2] = info.limitDown;
+                    }
+
+                    if (!string.IsNullOrEmpty(info.limitUp))
+                    {
+                        string key2 = $"{info.step}涓婇檺";
+                        int col2 = titleRow.IndexOf(key2);
+                        arr[col2] = info.limitUp;
+                    }
+
+                    if (!string.IsNullOrEmpty(info.limitUp))
+                    {
+                        string key2 = $"{info.step}娴嬭瘯缁撴灉";
+                        int col2 = titleRow.IndexOf(key2);
+                        arr[col2] = info.result;
+                    }
+
+                    if (!string.IsNullOrEmpty(info.updateTime))
+                    {
+                        string key2 = "娴嬭瘯鏃堕棿";// $"{info.step}娴嬭瘯鏃堕棿";
+                        int col2 = titleRow.IndexOf(key2);
+                        arr[col2] = info.updateTime;
+                    }
+                }
+
+
+                FileInfo fi = new FileInfo(filePath);
+                if (!fi.Directory.Exists)
+                {
+                    fi.Directory.Create();  //鏂囦欢涓嶅瓨鍦紝鍒涘缓鏂囦欢
+                }
+
+                using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
+                using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8))
+                {
+                    string title = string.Join(",", titleRow);
+                    sw.WriteLine(title);
+                    foreach (var info in datas)
+                    {
+                        string row = string.Join(",", info);
+                        sw.WriteLine(row);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                ViewControl.Logger.Error($"Cell[{title}] SaveInfoToCSV Error.", ex);
+            }
+        }
+
+        public void ReverseCSV(string filePath)
+        {
+            try
+            {
+                if (allInfos == null || allInfos.Count < 4) return;
+
+                Dictionary<string, int> columnMap = new Dictionary<string, int>();
+                int colPoint = 0;
+                List<string> titleRow = new List<string>();
+                List<string[]> datas = new List<string[]>();
+                List<string> timeRow = new List<string>();
+
+                void AddTitle(string title)
+                {
+                    if (titleRow.IndexOf(title) < 0)
+                    {
+                        titleRow.Add(title);
+                    }
+                }
+
+                // 鍏堣缃〃澶�
+                for (int i = 0; i < allInfos.Count; i++)
+                {
+                    var info = allInfos[i];
+                    if (IgnoreTestItem.Contains(info.step.ToLower()))
+                    {
+                        continue;
+                    }
+                    string testTime = info.updateTime;
+                    int rowIndex = timeRow.IndexOf(testTime);
+                    if (rowIndex < 0)
+                    {
+                        timeRow.Add(testTime);
+                    }
+
+                    string title = $"{info.step}{(string.IsNullOrEmpty(info.unit) ? "" : $"({info.unit})")}";
+                    AddTitle("娴嬭瘯鏃堕棿");
+                    AddTitle(title);
+                    if (!string.IsNullOrEmpty(info.limitDown))
+                    {
+                        string key2 = $"{info.step}涓嬮檺";
+                        AddTitle(key2);
+                    }
+
+                    if (!string.IsNullOrEmpty(info.limitUp))
+                    {
+                        string key2 = $"{info.step}涓婇檺";
+                        AddTitle(key2);
+                    }
+
+                    if (!string.IsNullOrEmpty(info.limitUp))
+                    {
+                        string key2 = $"{info.step}娴嬭瘯缁撴灉";
+                        AddTitle(key2);
+                    }
+
+                    //if (!string.IsNullOrEmpty(info.updateTime))
+                    //{
+                    //    string key2 = $"{info.step}娴嬭瘯鏃堕棿";
+                    //    AddTitle(key2);
+                    //}
+                }
+
+                for (int i = 0; i < allInfos.Count; i++)
+                {
+                    var info = allInfos[i];
+                    if (IgnoreTestItem.Contains(info.step.ToLower()))
+                    {
+                        continue;
+                    }
+                    string testTime = info.updateTime;
+                    int row = timeRow.IndexOf(testTime);
+                    if (row < 0)
+                    {
+                        continue;
+                    }
+
+
+
+                    string title = $"{info.step}{(string.IsNullOrEmpty(info.unit) ? "" : $"({info.unit})")}";
+                    int col = titleRow.IndexOf(title);
+
+                    if (datas.Count <= row)
+                    {
+                        datas.Add(new string[titleRow.Count]);
+                    }
+                    var arr = datas[row];
                     arr[col] = info.value;
 
 
@@ -910,6 +1055,7 @@
                 return;
             }
             string modelPath = table.parent.testModelFile;
+            int dutNo = table.index * table.cellCount + this.index;
             var win = new ManualDebugWindow(manualDebugSeq, modelPath)
             {
                 Title = $"{this.title}鎵嬪姩璋冭瘯",
@@ -917,7 +1063,7 @@
                 OvenIndex = this.table.index,
                 OvenName = this.table.title,
 
-                CellIndex = this.index,
+                CellIndex = dutNo,
                 CellName = this.title
             };
             win.ShowDialog();
@@ -934,7 +1080,7 @@
             };
             if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
             {
-                this.SaveInfoToCSV(sfd.FileName);
+                this.NormalCSV(sfd.FileName);
             }
         }
 
diff --git a/Plugin.TestResult/TestResultView.xaml.cs b/Plugin.TestResult/TestResultView.xaml.cs
index 3712dc3..9182ea0 100644
--- a/Plugin.TestResult/TestResultView.xaml.cs
+++ b/Plugin.TestResult/TestResultView.xaml.cs
@@ -543,6 +543,17 @@
                     tables[ovenIndex].GetSingleCell(cellIndex).SaveInfoToCSV(filePath);
                     return;
                 }
+                if (MethodCode == 180)
+                {
+                    /// 淇濆瓨绌翠綅娴嬭瘯鏁版嵁鍒癈SV
+                    strData = e.uiMsg.StringData;
+                    string[] datas = strData.Split(';');
+                    int ovenIndex = int.Parse(datas[0]);
+                    int cellIndex = int.Parse(datas[1]);
+                    string filePath = datas[2];
+                    tables[ovenIndex].GetSingleCell(cellIndex).NormalCSV(filePath);
+                    return;
+                }
 
                 if (MethodCode == 19)
                 {
diff --git a/Plugin.TsExecution/ScreenTouch.xaml.cs b/Plugin.TsExecution/ScreenTouch.xaml.cs
index 4145554..431f740 100644
--- a/Plugin.TsExecution/ScreenTouch.xaml.cs
+++ b/Plugin.TsExecution/ScreenTouch.xaml.cs
@@ -130,10 +130,12 @@
         public void DrawPoints(int[][] points)
         {
             var temp = new ObservableCollection<bool>(new bool[rows * columns]);
-            foreach (int[] point in points)
+            for (int i = 0; i < points.Length; i++)
             {
+                int[] point = points[i];
+                int index = point[1] * columns + point[0];
                 //children[point[0]][point[1]].Background = Brushes.Green;
-                temp[point[1] * columns + point[0]] = true;
+                temp[index] = true;
             }
             Values = temp;
         }
diff --git a/Plugin.TsExecution/TsExecution.xaml.cs b/Plugin.TsExecution/TsExecution.xaml.cs
index 321bd3b..4578fdb 100644
--- a/Plugin.TsExecution/TsExecution.xaml.cs
+++ b/Plugin.TsExecution/TsExecution.xaml.cs
@@ -1061,8 +1061,16 @@
         /// </summary>
         private void StartSequence()
         {
+            log.Info($"Start ATE Seq isLoadOK:{isLoadOK}");
             if (!isLoadOK) return;
-            engine?.Globals.SetValBoolean("StationState.StopTest", 0, false);
+            try
+            {
+                engine?.Globals.SetValBoolean("StationState.StopTest", 1, false);
+            }
+            catch (Exception ex)
+            {
+                log.Error("Reset StopTest Failed.", ex);
+            }
             if (ParamSetting.EnableAutoModel)
             {
                 try
@@ -1135,14 +1143,15 @@
         {
             try
             {
-                if (this.tsSockets.Count > 0)
-                {
-                    for (int i = 0; i < tsSockets.Count; i++)
-                    {
-                        var context = this.tsSockets[i].SequenceFileContext;
-                        context?.StationGlobals.SetValBoolean("StationState.StopTest", 1, true);
-                    }
-                }
+                //if (this.tsSockets.Count > 0)
+                //{
+                //    for (int i = 0; i < tsSockets.Count; i++)
+                //    {
+                //        var context = this.tsSockets[i].SequenceFileContext;
+                //        context?.StationGlobals.SetValBoolean("StationState.StopTest", 1, true);
+                //    }
+                //}
+                engine.Globals.SetValBoolean("StationState.StopTest", 1, true);
                 if (this.execution == null) return true;
 
                 //bool res = this.execution.WaitForEndEx(-1, true, null, null);
diff --git a/Util.ManualDebug/ManualDebug.xaml.cs b/Util.ManualDebug/ManualDebug.xaml.cs
index 7fa336e..8c6b5ef 100644
--- a/Util.ManualDebug/ManualDebug.xaml.cs
+++ b/Util.ManualDebug/ManualDebug.xaml.cs
@@ -203,6 +203,19 @@
                 if (e.EventCode == 10000)
                 {
                     executionWrapper?.SetContext(e.Data);
+
+                    string key = $"Running.OvenName";
+                    executionWrapper?.SetFileGlobalValue(key, 1, OvenName);
+
+                    key = $"Running.CellName";
+                    executionWrapper?.SetFileGlobalValue(key, 1, CellName);
+
+                    key = $"Running.OvenIndex";
+                    executionWrapper?.SetFileGlobalValue(key, 1, OvenIndex);
+
+                    key = $"Running.CellIndex";
+                    executionWrapper?.SetFileGlobalValue(key, 1, CellIndex);
+
                     return;
                 }
                 if (e.EventCode == 10001)
@@ -254,19 +267,7 @@
         {
             try
             {
-                string key = $"Running.OvenName";
-                executionWrapper?.SetFileGlobalValue(key, 1, OvenName);
-
-                key = $"Running.CellName";
-                executionWrapper?.SetFileGlobalValue(key, 1, CellName);
-
-                key = $"Running.OvenIndex";
-                executionWrapper?.SetFileGlobalValue(key, 1, OvenIndex);
-
-                key = $"Running.CellIndex";
-                executionWrapper?.SetFileGlobalValue(key, 1, CellIndex);
-
-                key = $"Running.ActionName";
+                string key = $"Running.ActionName";
                 executionWrapper?.SetFileGlobalValue(key, 1, name);
             }
             catch (Exception ex)
diff --git a/WPFProject/Controls/MainTabControl.xaml.cs b/WPFProject/Controls/MainTabControl.xaml.cs
index 72ae3eb..6b3fba5 100644
--- a/WPFProject/Controls/MainTabControl.xaml.cs
+++ b/WPFProject/Controls/MainTabControl.xaml.cs
@@ -193,13 +193,14 @@
         private void UserControl_Loaded(object sender, RoutedEventArgs e)
         {
             var ss = ((WindowX)Window.GetWindow(this));
-            Binding binding = new Binding("IsMaskVisible")
-            {
-                Source = ((WindowX)Window.GetWindow(this)),
-                Mode = BindingMode.TwoWay,
-                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
-            };
-            winFormHolder.SetBinding(WinFormHolder.MaskVisiableProperty, binding);
+            /// binding WinformHost 閬僵
+            //Binding binding = new Binding("IsMaskVisible")
+            //{
+            //    Source = ((WindowX)Window.GetWindow(this)),
+            //    Mode = BindingMode.TwoWay,
+            //    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
+            //};
+            //winFormHolder.SetBinding(WinFormHolder.MaskVisiableProperty, binding);
             if (MenuItems != null && MenuItems.Count > 0)
             {
                 SelectedMenu = MenuItems[0];
diff --git a/WPFProject/PanuonWindow.xaml b/WPFProject/PanuonWindow.xaml
index b783a52..b9ccb20 100644
--- a/WPFProject/PanuonWindow.xaml
+++ b/WPFProject/PanuonWindow.xaml
@@ -23,7 +23,6 @@
             Title="TestPlatform"
             pu:WindowXCaption.Background="Transparent"
             pu:WindowXCaption.Height="60"
-            IsOverlayerVisible="True"
             pu:WindowXCaption.Foreground="#FFF">
     <Window.Resources>
         <hc:LangConverter x:Key="lc"/>
diff --git a/WPFProject/PanuonWindow.xaml.cs b/WPFProject/PanuonWindow.xaml.cs
index 06799af..b91ac2f 100644
--- a/WPFProject/PanuonWindow.xaml.cs
+++ b/WPFProject/PanuonWindow.xaml.cs
@@ -116,11 +116,14 @@
                 Application.Current.MainWindow = this;
                 SystemSetting.SystemSettingChanged += SystemSetting_SystemSettingChanged;
 
-                Task.Run(() =>
+                if (Environment.Is64BitProcess)
                 {
-                    ResourceListener.Instance.RefreshEvent += this.resourceUI.Refresh;
-                    ResourceListener.Instance.Start();
-                });
+                    Task.Run(() =>
+                    {
+                        ResourceListener.Instance.RefreshEvent += this.resourceUI.Refresh;
+                        ResourceListener.Instance.Start();
+                    });
+                }
             }
             catch (Exception ex)
             {
diff --git a/WPFProject/Properties/AssemblyInfo.cs b/WPFProject/Properties/AssemblyInfo.cs
index c79e593..2c3d5a9 100644
--- a/WPFProject/Properties/AssemblyInfo.cs
+++ b/WPFProject/Properties/AssemblyInfo.cs
@@ -53,6 +53,6 @@
 //鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
 //閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.1")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.0.0.2")]
+[assembly: AssemblyFileVersion("1.0.0.2")]
 [assembly: XmlConfigurator(ConfigFile = "Config/log4net.config", Watch = true)]
\ No newline at end of file
diff --git a/WPFProject/ResourceListener.cs b/WPFProject/ResourceListener.cs
index a03f00e..cbd8f05 100644
--- a/WPFProject/ResourceListener.cs
+++ b/WPFProject/ResourceListener.cs
@@ -98,10 +98,10 @@
                         totalRemRate = usagePercent
                     });
                     log.Info(info);
-                    if (usagePercent > 80)
-                    {
-                        // AlarmUtil.CreateAlarm("App", "鍐呭瓨鍗犵敤杩囬珮锛岃秴80%", out _);
-                    }
+                    //if (usagePercent > 80)
+                    //{
+                    //    AlarmUtil.CreateAlarm("App", "鍐呭瓨鍗犵敤杩囬珮锛岃秴80%", out _);
+                    //}
                 }
             }
             catch (Exception ex)
diff --git a/WPFProject/WPFProject.sln b/WPFProject/WPFProject.sln
index b4b4b91..9b2595b 100644
--- a/WPFProject/WPFProject.sln
+++ b/WPFProject/WPFProject.sln
@@ -573,8 +573,8 @@
 		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|Any CPU.Build.0 = Release|Any CPU
 		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|x64.ActiveCfg = Release|Any CPU
 		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|x64.Build.0 = Release|Any CPU
-		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|x86.ActiveCfg = Release|Any CPU
-		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|x86.Build.0 = Release|Any CPU
+		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|x86.ActiveCfg = Release|x86
+		{D0944E62-EE52-4ABE-832A-A09D98814DB1}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

--
Gitblit v1.9.1