From 592f6483fb95e8e248f87e3ea98617f3bbebe590 Mon Sep 17 00:00:00 2001 From: HI <15012290903@163.com> Date: Mon, 8 Jul 2024 13:52:13 +0800 Subject: [PATCH 1/3] Update Readme --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9fb2224..fd18dc8 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,16 @@ # PEIS 新体检系统 +!!! SVN 和 main分支保持同步 !!! +通用功能同步提交到main分支,特殊定制功能提交到各自医院分支。 +## 分支 - yjfy 盈江妇幼保健院 - msfy 芒市妇幼保健院 - dhzzyy 德宏州中医院 -- dhzfy 德宏州妇幼保健院 \ No newline at end of file +- dhzfy 德宏州妇幼保健院 + +## 程序 +- PEIS 体检系统程序 +- DicomTool PACS图片同步工具,Dicom文件转图片; +- Scale 身高体重/血压仪联机程序; From 39d23d3d66456cdfc02a7a96997d86410e6e858f Mon Sep 17 00:00:00 2001 From: HI <15012290903@163.com> Date: Mon, 8 Jul 2024 14:03:10 +0800 Subject: [PATCH 2/3] =?UTF-8?q?+=E4=BD=93=E6=A3=80=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PEIS.sln | 23 ++-- README.md | 3 +- Update/Form1.Designer.cs | 79 +++++++++++ Update/Form1.cs | 168 ++++++++++++++++++++++++ Update/Form1.resx | 120 +++++++++++++++++ Update/Program.cs | 41 ++++++ Update/Properties/AssemblyInfo.cs | 36 +++++ Update/Properties/Resources.Designer.cs | 73 ++++++++++ Update/Properties/Resources.resx | 124 +++++++++++++++++ Update/Properties/Settings.Designer.cs | 30 +++++ Update/Properties/Settings.settings | 7 + Update/Update.csproj | 100 ++++++++++++++ Update/packages.config | 4 + Update/update.png | Bin 0 -> 6436 bytes 14 files changed, 797 insertions(+), 11 deletions(-) create mode 100644 Update/Form1.Designer.cs create mode 100644 Update/Form1.cs create mode 100644 Update/Form1.resx create mode 100644 Update/Program.cs create mode 100644 Update/Properties/AssemblyInfo.cs create mode 100644 Update/Properties/Resources.Designer.cs create mode 100644 Update/Properties/Resources.resx create mode 100644 Update/Properties/Settings.Designer.cs create mode 100644 Update/Properties/Settings.settings create mode 100644 Update/Update.csproj create mode 100644 Update/packages.config create mode 100644 Update/update.png diff --git a/PEIS.sln b/PEIS.sln index a4a7550..29b146e 100644 --- a/PEIS.sln +++ b/PEIS.sln @@ -15,14 +15,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DicomTool", "DicomTool\Dico EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestWindowsFormsApp", "..\..\..\Test\TestWindowsFormsApp\TestWindowsFormsApp.csproj", "{BAC2778E-8EDF-435A-BC81-7C8D1F027572}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Update", "..\..\..\Update\Update.csproj", "{8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Scale", "Scale\Scale.csproj", "{F13021FD-372E-4D3C-8982-6FE5102AF45A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp", "ConsoleApp\ConsoleApp.csproj", "{37E64FF5-7C4B-4DC7-BFA9-2529CF95BEE3}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestWinFormApp", "..\..\..\Test\TestWinFormApp\TestWinFormApp.csproj", "{4A92A40D-1C15-471C-AA42-80732E925904}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Update", "Update\Update.csproj", "{8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -71,14 +71,6 @@ Global {BAC2778E-8EDF-435A-BC81-7C8D1F027572}.Release|Any CPU.Build.0 = Release|Any CPU {BAC2778E-8EDF-435A-BC81-7C8D1F027572}.Release|x86.ActiveCfg = Release|Any CPU {BAC2778E-8EDF-435A-BC81-7C8D1F027572}.Release|x86.Build.0 = Release|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|x86.ActiveCfg = Debug|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|x86.Build.0 = Debug|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|Any CPU.Build.0 = Release|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|x86.ActiveCfg = Release|Any CPU - {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|x86.Build.0 = Release|Any CPU {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|Any CPU.Build.0 = Debug|Any CPU {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|x86.ActiveCfg = Debug|Any CPU @@ -103,10 +95,21 @@ Global {4A92A40D-1C15-471C-AA42-80732E925904}.Release|Any CPU.Build.0 = Release|Any CPU {4A92A40D-1C15-471C-AA42-80732E925904}.Release|x86.ActiveCfg = Release|Any CPU {4A92A40D-1C15-471C-AA42-80732E925904}.Release|x86.Build.0 = Release|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|x86.ActiveCfg = Debug|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Debug|x86.Build.0 = Debug|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|Any CPU.Build.0 = Release|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|x86.ActiveCfg = Release|Any CPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5} = {AB0394FA-735E-4213-9ACE-31C02F698FA7} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {56DA78F6-DED1-4B17-AE1F-7DCF4A666388} EndGlobalSection diff --git a/README.md b/README.md index fd18dc8..fb4a670 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # PEIS 新体检系统 -!!! SVN 和 main分支保持同步 !!! +!!! SVN 和 main分支保持同步 !!!\ 通用功能同步提交到main分支,特殊定制功能提交到各自医院分支。 ## 分支 @@ -14,3 +14,4 @@ - PEIS 体检系统程序 - DicomTool PACS图片同步工具,Dicom文件转图片; - Scale 身高体重/血压仪联机程序; +- Update 体检系统自动更新程序 diff --git a/Update/Form1.Designer.cs b/Update/Form1.Designer.cs new file mode 100644 index 0000000..58abf3e --- /dev/null +++ b/Update/Form1.Designer.cs @@ -0,0 +1,79 @@ +namespace Update +{ + partial class Form1 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows 窗体设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lblTips = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // lblTips + // + this.lblTips.AutoSize = true; + this.lblTips.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblTips.Location = new System.Drawing.Point(93, 55); + this.lblTips.Name = "lblTips"; + this.lblTips.Size = new System.Drawing.Size(74, 20); + this.lblTips.TabIndex = 4; + this.lblTips.Text = "正在更新···"; + this.lblTips.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // pictureBox1 + // + this.pictureBox1.Image = global::Update.Properties.Resources.update; + this.pictureBox1.InitialImage = null; + this.pictureBox1.Location = new System.Drawing.Point(12, 40); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(50, 50); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 5; + this.pictureBox1.TabStop = false; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(304, 141); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.lblTips); + this.Name = "Form1"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "体检系统更新"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Label lblTips; + private System.Windows.Forms.PictureBox pictureBox1; + } +} + diff --git a/Update/Form1.cs b/Update/Form1.cs new file mode 100644 index 0000000..14cd307 --- /dev/null +++ b/Update/Form1.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Threading; +using System.Windows.Forms; + +namespace Update +{ + public partial class Form1 : Form + { + // 当前程序目录 **/Update/ + private static string CurrentPath = Application.StartupPath; + + public Form1() + { + InitializeComponent(); + TopMost = true; + MaximizeBox = false; + ControlBox = true; + ControlBox = false; + + try + { + // 体检系统 + var program = "PEIS.exe"; + // 解压文件目录 **/Update/Unzip/ + var unZipPath = Path.Combine(CurrentPath, "UnZip"); + // 检查程序是否正在运行 + var processes = Process.GetProcessesByName(program); + if (processes.Length > 0) + { + // 关闭程序 + foreach (var process in processes) + { + process.Kill(); + process.WaitForExit(); // 等待程序退出 + Console.WriteLine($@"Closed existing instance of {program}"); + } + // 等待1秒 + Thread.Sleep(1000); + } + lblTips.Text = @"正在更新……"; + // 删除文件夹 + DelDirectory(); + // 解压路径是否存在 + if (Directory.Exists(unZipPath)) + { + // 获取解压文件下的第一个文件夹,避免 **/Update/UnZip/PEIS.exe || **/Update/UnZip/XxDirectory/PEIS.exe + var temp = Directory.GetDirectories(unZipPath, "*", SearchOption.AllDirectories).ToList() + ?.FirstOrDefault(); + if (File.Exists(Path.Combine(unZipPath, program))) + { + CopyFilesRecursively(unZipPath, Path.GetDirectoryName(CurrentPath)); + var sourceFilePath = Path.Combine(unZipPath, "PEIS.exe.config"); + var targetFilePath = Path.Combine(Path.GetDirectoryName(CurrentPath), "PEIS.exe.config"); + // 复制并替换指定文件 PEIS.exe.config + File.Copy(sourceFilePath, targetFilePath, true); + //删除压缩目录 + //Directory.Delete(unZipPath, true); + lblTips.Text = (@"更新完成,请重新启动!"); + //Process.Start(programPath); + } + else if (File.Exists(Path.Combine(temp, program))) + { + CopyFilesRecursively(temp, Path.GetDirectoryName(CurrentPath)); + var sourceFilePath = Path.Combine(temp, "PEIS.exe.config"); + var targetFilePath = Path.Combine(Path.GetDirectoryName(CurrentPath), "PEIS.exe.config"); + // 复制并替换指定文件 + File.Copy(sourceFilePath, targetFilePath, true); + lblTips.Text = (@"更新完成,请重新启动!"); + } + else + { + lblTips.Text = (@"未找到更新程序!"); + } + } + else + { + lblTips.Text = (@"未找到更新文件!"); + } + //Process.GetCurrentProcess().Kill(); + } + catch (Exception e) + { + lblTips.Text = (e.Message); + //Process.GetCurrentProcess().Kill(); + } + finally + { + ControlBox = true; + } + } + + /// + /// 文件复制替换 + /// + /// 原位置 + /// 目标位置 + private static void CopyFilesRecursively(string sourcePath, string targetPath) + { + //现在创建所有目录 + foreach (var dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories)) + { + if (dirPath == CurrentPath) continue; + if (dirPath.Contains("Update")) continue; + var dir = dirPath.Replace(sourcePath, targetPath); + Directory.CreateDirectory(dir); + } + //复制所有文件并替换所有同名文件 + foreach (var newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories)) + { + //File.Copy(newPath, newPath.Replace(sourcePath, targetPath), true); + var newFilePath = newPath.Replace(sourcePath, targetPath); + var targetDirectory = Path.GetDirectoryName(newFilePath); + + if (newPath.Contains("Update.exe")) continue; + if (newFilePath.Contains("Update.exe")) continue; + // 如果目标文件夹不存在,则创建 + if (!Directory.Exists(targetDirectory)) + { + Directory.CreateDirectory(targetDirectory); + } + + File.Copy(newPath, newFilePath, true); + } + } + + + private static void DelDirectory() + { + var list = new List() + { + "de", + "es", + "ja", + "ru", + "nl", + "x64", + "x86", + }; + list.ForEach(item => + { + var path = Path.Combine( Path.GetDirectoryName(CurrentPath), item); + DeleteDirectory(path); + }); + } + + static void DeleteDirectory(string targetDir) + { + if (Directory.Exists(targetDir)) + { + string[] files = Directory.GetFiles(targetDir); + foreach (string file in files) + { + File.Delete(file); + } + string[] subDirs = Directory.GetDirectories(targetDir); + foreach (string subDir in subDirs) + { + DeleteDirectory(subDir); + } + Directory.Delete(targetDir); + } + } + } +} \ No newline at end of file diff --git a/Update/Form1.resx b/Update/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Update/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Update/Program.cs b/Update/Program.cs new file mode 100644 index 0000000..a64f644 --- /dev/null +++ b/Update/Program.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading; +using System.Windows.Forms; + +namespace Update +{ + static class Program + { + /// + /// 应用程序的主入口点。 + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + var program = "PEIS.exe"; + + // 检查程序是否正在运行 + Process[] processes = Process.GetProcessesByName(program); + + if (processes.Length > 0) + { + // 关闭程序 + foreach (var process in processes) + { + process.Kill(); + process.WaitForExit(); // 等待程序退出 + Console.WriteLine($@"Closed existing instance of {program}"); + } + + // 等待2秒 + Thread.Sleep(1000); + } + Application.Run(new Form1()); + } + } +} diff --git a/Update/Properties/AssemblyInfo.cs b/Update/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9d2771d --- /dev/null +++ b/Update/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("Update")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Update")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("8894c92c-210d-459c-b5cd-7a6d2ab4cbe5")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Update/Properties/Resources.Designer.cs b/Update/Properties/Resources.Designer.cs new file mode 100644 index 0000000..9156364 --- /dev/null +++ b/Update/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace Update.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Update.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性 + /// 重写当前线程的 CurrentUICulture 属性。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap update { + get { + object obj = ResourceManager.GetObject("update", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Update/Properties/Resources.resx b/Update/Properties/Resources.resx new file mode 100644 index 0000000..3aa7d5a --- /dev/null +++ b/Update/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\update.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Update/Properties/Settings.Designer.cs b/Update/Properties/Settings.Designer.cs new file mode 100644 index 0000000..37ea7c8 --- /dev/null +++ b/Update/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Update.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Update/Properties/Settings.settings b/Update/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Update/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Update/Update.csproj b/Update/Update.csproj new file mode 100644 index 0000000..7726f31 --- /dev/null +++ b/Update/Update.csproj @@ -0,0 +1,100 @@ + + + + + Debug + AnyCPU + {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5} + WinExe + Update + Update + v4.0 + 512 + true + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + False + .NET Framework 3.5 SP1 + false + + + + + Always + + + + \ No newline at end of file diff --git a/Update/packages.config b/Update/packages.config new file mode 100644 index 0000000..362fa35 --- /dev/null +++ b/Update/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Update/update.png b/Update/update.png new file mode 100644 index 0000000000000000000000000000000000000000..96948ceeb51098fd42699344009edca8527ab851 GIT binary patch literal 6436 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 Wju}Wzo^b5}P<^VUSS4@$=KlcEuN!dy literal 0 HcmV?d00001 From 7c612c397b566b49960c527480caf358c1906fe3 Mon Sep 17 00:00:00 2001 From: lsm Date: Mon, 8 Jul 2024 14:11:04 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BF=BD=E7=95=A5=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 46c92f0..a16e744 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ ConsoleApp/ IDCardRead/ PublishUpgrade/ PEIS/PEIS.zip +PEIS/App.config +PIES/Properties/licenses.licx +PEIS.sln # ---> VisualStudio ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons.