From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.Util/IniFileHelper.cs |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/HMI.Util/IniFileHelper.cs b/HMI.Util/IniFileHelper.cs
index f6e7d4e..2494ec7 100644
--- a/HMI.Util/IniFileHelper.cs
+++ b/HMI.Util/IniFileHelper.cs
@@ -26,6 +26,9 @@
         private static extern uint GetPrivateProfileStringA(string section, string key,
             string def, Byte[] retVal, int size, string filePath);
 
+        [DllImport("kernel32")]
+        private static extern int GetPrivateProfileSection(string section, byte[] retVal, int size, string filePath);
+
         #endregion
         public static List<string> ReadSections()
         {
@@ -86,7 +89,7 @@
                 return temp.ToString();
             }
             else
-                return String.Empty;
+                return NoText;
         }
 
         #endregion
@@ -108,5 +111,34 @@
                 return true;
         }
         #endregion
+
+        public static Dictionary<string, string> GetKeyValuesBySection(string iniFile, string section)
+        {
+            int size = 65536;
+            byte[] buffer = new byte[size];
+
+            Dictionary<string, string> result = new Dictionary<string, string>();
+            int bytesRead = GetPrivateProfileSection(section, buffer, size, iniFile);
+            if (bytesRead > 0)
+            {
+                string sectionData = Encoding.Default.GetString(buffer, 0, bytesRead - 1);
+                string[] keyValuePairs = sectionData.Split('\0');
+
+                foreach (string pair in keyValuePairs)
+                {
+                    if (!string.IsNullOrEmpty(pair))
+                    {
+                        int equalSignIndex = pair.IndexOf('=');
+                        if (equalSignIndex > 0)
+                        {
+                            string key = pair.Substring(0, equalSignIndex).Trim();
+                            string value = pair.Substring(equalSignIndex + 1).Trim();
+                            result[key] = value;
+                        }
+                    }
+                }
+            }
+            return result;
+        }
     }
 }

--
Gitblit v1.9.1