ソースを参照

调整控制台输出颜色样式,ignore添加过滤.vs

yuzhengyang 7 年 前
コミット
ecd326ca06

+ 1 - 0
.gitignore

@@ -25,6 +25,7 @@ bld/
 [Ll]og/
 
 # Visual Studio 2015/2017 cache/options directory
+.vs
 .vs/
 # Uncomment if you have tasks that create the project's static files in wwwroot
 #wwwroot/

+ 0 - 0
Azylee.Utils/.vs/Azylee.Utils/v15/Server/sqlite3/db.lock


BIN
Azylee.Utils/.vs/Azylee.Utils/v15/Server/sqlite3/storage.ide


+ 1 - 0
Azylee.Utils/Azylee.Core/AppUtils/AppInfoTool.cs

@@ -117,6 +117,7 @@ namespace Azylee.Core.AppUtils
             {
                 p = Process.GetCurrentProcess();
                 value = p.WorkingSet64 / 1024;
+                //value = p.PeakWorkingSet64 / 1024;
             }
             catch { }
             finally { p?.Dispose(); }

+ 2 - 1
Azylee.Utils/Azylee.Core/Azylee.Core.csproj

@@ -151,7 +151,8 @@
     <Compile Include="WindowsUtils\ClipboardUtils\ClipboardTool.cs" />
     <Compile Include="WindowsUtils\CMDUtils\CMDNetstatTool.cs" />
     <Compile Include="WindowsUtils\CMDUtils\CMDProcessTool.cs" />
-    <Compile Include="WindowsUtils\ConsoleUtils\Ct.cs" />
+    <Compile Include="WindowsUtils\ConsoleUtils\Cons.cs" />
+    <Compile Include="WindowsUtils\ConsoleUtils\ConsColorMode.cs" />
     <Compile Include="WindowsUtils\HookUtils\KeyboardHook.cs" />
     <Compile Include="WindowsUtils\HookUtils\KeyboardHookHelper.cs" />
     <Compile Include="WindowsUtils\HookUtils\UserActivityHook.cs" />

+ 136 - 60
Azylee.Utils/Azylee.Core/LogUtils/SimpleLogUtils/Log.cs

@@ -48,21 +48,43 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
 
         private int CACHE_DAYS = 30;//缓存天数
         private object LogFileLock = new object();//写日志文件锁
-        private bool IsWriteFile = false;//是否写日志文件
         private string LogPath = AppDomain.CurrentDomain.BaseDirectory + LOG_PATH;
-        public LogLevel LogLevel = LogLevel.All;//日志输出等级
+        private LogLevel ConsoleLogLevel = LogLevel.All;//日志输出到"控制台"等级
+        private LogLevel FileLogLevel = LogLevel.All;//日志输出到"文件"等级
         #endregion
 
-        public Log() { }
-        public Log(bool isWrite, LogLevel level = LogLevel.All)
+        private Log() { }
+        /// <summary>
+        /// 初始化 Log 工具
+        /// </summary>
+        /// <param name="isWrite">已失效,使用WriteLevel代替</param>
+        /// <param name="logLevel"></param>
+        /// <param name="writeLevel"></param>
+        [Obsolete]
+        public Log(bool isWrite, LogLevel logLevel = LogLevel.All, LogLevel writeLevel = LogLevel.All)
         {
             if (isWrite)
             {
-                IsWriteFile = true;
-                LogLevel = level;
+                //IsWriteFile = true;//已禁用,使用文件输出等级控制
+                ConsoleLogLevel = logLevel;
+                FileLogLevel = writeLevel;
             }
         }
+        /// <summary>
+        /// 初始化 Log 工具
+        /// </summary>
+        /// <param name="console">控制台输出级别</param>
+        /// <param name="file">文件输出级别</param>
+        public Log(LogLevel console = LogLevel.All, LogLevel file = LogLevel.All)
+        {
+            ConsoleLogLevel = console;
+            FileLogLevel = file;
+        }
 
+        /// <summary>
+        /// 设置日志路径
+        /// </summary>
+        /// <param name="path"></param>
         public void SetLogPath(string path)
         {
             if (!string.IsNullOrWhiteSpace(path))
@@ -70,13 +92,26 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
                 LogPath = DirTool.Combine(path, LOG_PATH);
             }
         }
+        /// <summary>
+        /// 设置日志缓存天数(默认30天)
+        /// </summary>
+        /// <param name="days"></param>
         public void SetCacheDays(int days)
         {
             if (days >= 0) CACHE_DAYS = days;
         }
+
         #region Console 开启/关闭 API
+        /// <summary>
+        /// 启用系统控制台输出
+        /// </summary>
+        /// <returns></returns>
         [DllImport("kernel32.dll")]
         public static extern Boolean AllocConsole();
+        /// <summary>
+        /// 关闭系统控制台
+        /// </summary>
+        /// <returns></returns>
         [DllImport("kernel32.dll")]
         public static extern Boolean FreeConsole();
         #endregion
@@ -104,22 +139,15 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
         /// </summary>
         /// <param name="type">类型</param>
         /// <param name="message">消息</param>
-        /// <param name="color">炫彩颜色配置</param>
-        private void Write(LogType type, string message, ConsoleColor color = ConsoleColor.White)
+        private void WriteConsole(LogType type, string message)
         {
             try
             {
-                if (type == LogType.c) Console.ForegroundColor = color;//使用自定义配色
-                else Console.ForegroundColor = GetColor(type);//使用默认类型配色
-
+                Console.ForegroundColor = GetColor(type);
                 Console.WriteLine(LOG_FORMAT, DateTime.Now.ToString(TIME_FORMAT), type.ToString(), message);
-            }
-            catch { }
-            try
-            {
+
                 //取消单独线程输出日志文件(单独线程输出日志必然会有延迟)
                 //if (IsWriteFile) Queue.Enqueue(new LogModel() { Type = type, Message = message, CreateTime = DateTime.Now });
-                if (IsWriteFile) WriteFile(new LogModel() { Type = type, Message = message, CreateTime = DateTime.Now });
             }
             catch { }
         }
@@ -129,26 +157,27 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
         /// <param name="log"></param>
         private void WriteFile(LogModel log)
         {
-            if (IsWriteFile)
+            lock (LogFileLock)
             {
-                lock (LogFileLock)
-                {
-                    //设置日志目录和日志文件
-                    string filePath = GetFilePath(log.Type);
-                    string file = DirTool.Combine(filePath, DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
-                    //创建日志目录
-                    DirTool.Create(filePath);
-                    //写出日志
-                    TxtTool.Append(
-                        file,
-                        string.Format(LOG_FORMAT,
-                            log.CreateTime.ToString(TIME_FORMAT),
-                            log.Type.ToString(),
-                            StringTool.ReplaceNewLine(log.Message)));
-                    Cleaner(log.Type);
-                }
+                //设置日志目录和日志文件
+                string filePath = GetFilePath(log.Type);
+                string file = DirTool.Combine(filePath, DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
+                //创建日志目录
+                DirTool.Create(filePath);
+                //处理日志信息(换行)
+                string[] loglines = log.Message.Split(new[] { "\r\n", "\n\r", Environment.NewLine }, StringSplitOptions.None);
+                log.Message = String.Join<string>($"{Environment.NewLine}{new string(' ', 18)}└", loglines);
+                //写出日志
+                TxtTool.Append(
+                    file,
+                    string.Format(LOG_FORMAT,
+                        log.CreateTime.ToString(TIME_FORMAT),
+                        log.Type.ToString(),
+                        log.Message));
+                Cleaner(log.Type);
             }
         }
+
         /// <summary>
         /// 根据分类分配目录
         /// </summary>
@@ -193,66 +222,113 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
         }
 
         #region 分类详细输出
+        #region 因大小写命名规范冲突,将次类方法标记为弃用
         /// <summary>
         /// 输出 verbose (啰嗦信息)
         /// </summary>
-        /// <param name="message">消息</param>
-        /// <param name="tag">可选:标记</param>
+        /// <param name="msg">消息</param>
+        [Obsolete]
         public void v<T>(T msg)
         {
-            if ((LogLevel & LogLevel.Verbose) == LogLevel.Verbose)
-                Write(LogType.v, msg.ToString());
+            V(msg);
         }
         /// <summary>
         /// 输出 Debug (调试信息)
         /// </summary>
-        /// <param name="message">消息</param>
-        /// <param name="tag">可选:标记</param>
+        /// <param name="msg">消息</param>
+        [Obsolete]
         public void d<T>(T msg)
         {
-            if ((LogLevel & LogLevel.Debug) == LogLevel.Debug)
-                Write(LogType.d, msg.ToString());
+            D(msg);
         }
         /// <summary>
         /// 输出 Information (重要信息)
         /// </summary>
-        /// <param name="message">消息</param>
-        /// <param name="tag">可选:标记</param>
+        /// <param name="msg">消息</param>
+        [Obsolete]
         public void i<T>(T msg)
         {
-            if ((LogLevel & LogLevel.Information) == LogLevel.Information)
-                Write(LogType.i, msg.ToString());
+            I(msg);
         }
         /// <summary>
         /// 输出 Warning (警告信息)
         /// </summary>
-        /// <param name="message">消息</param>
-        /// <param name="tag">可选:标记</param>
+        /// <param name="msg">消息</param>
+        [Obsolete]
         public void w<T>(T msg)
         {
-            if ((LogLevel & LogLevel.Warning) == LogLevel.Warning)
-                Write(LogType.w, msg.ToString());
+            W(msg);
         }
         /// <summary>
         /// 输出 Error (错误信息)
         /// </summary>
-        /// <param name="message">消息</param>
-        /// <param name="tag">可选:标记</param>
+        /// <param name="msg">消息</param>
+        [Obsolete]
         public void e<T>(T msg)
         {
-            if ((LogLevel & LogLevel.Error) == LogLevel.Error)
-                Write(LogType.e, msg.ToString());
+            E(msg);
         }
+        #endregion
+
         /// <summary>
-        /// 输出 Colorful (炫彩信息)
+        /// 输出 verbose (啰嗦信息)
         /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="color"></param>
-        /// <param name="msg"></param>
-        public void c<T>(ConsoleColor color, T msg)
+        /// <param name="msg">消息</param>
+        public void V<T>(T msg)
         {
-            if ((LogLevel & LogLevel.Colorful) == LogLevel.Colorful)
-                Write(LogType.c, msg.ToString(), color);
+            if ((ConsoleLogLevel & LogLevel.Verbose) == LogLevel.Verbose)
+                WriteConsole(LogType.v, msg.ToString());
+
+            if ((FileLogLevel & LogLevel.Verbose) == LogLevel.Verbose)
+                WriteFile(new LogModel() { Type = LogType.v, Message = msg.ToString(), CreateTime = DateTime.Now });
+        }
+        /// <summary>
+        /// 输出 Debug (调试信息)
+        /// </summary>
+        /// <param name="msg">消息</param>
+        public void D<T>(T msg)
+        {
+            if ((ConsoleLogLevel & LogLevel.Debug) == LogLevel.Debug)
+                WriteConsole(LogType.d, msg.ToString());
+
+            if ((FileLogLevel & LogLevel.Debug) == LogLevel.Debug)
+                WriteFile(new LogModel() { Type = LogType.d, Message = msg.ToString(), CreateTime = DateTime.Now });
+        }
+        /// <summary>
+        /// 输出 Information (重要信息)
+        /// </summary>
+        /// <param name="msg">消息</param>
+        public void I<T>(T msg)
+        {
+            if ((ConsoleLogLevel & LogLevel.Information) == LogLevel.Information)
+                WriteConsole(LogType.i, msg.ToString());
+
+            if ((FileLogLevel & LogLevel.Information) == LogLevel.Information)
+                WriteFile(new LogModel() { Type = LogType.i, Message = msg.ToString(), CreateTime = DateTime.Now });
+        }
+        /// <summary>
+        /// 输出 Warning (警告信息)
+        /// </summary>
+        /// <param name="msg">消息</param>
+        public void W<T>(T msg)
+        {
+            if ((ConsoleLogLevel & LogLevel.Warning) == LogLevel.Warning)
+                WriteConsole(LogType.w, msg.ToString());
+
+            if ((FileLogLevel & LogLevel.Warning) == LogLevel.Warning)
+                WriteFile(new LogModel() { Type = LogType.w, Message = msg.ToString(), CreateTime = DateTime.Now });
+        }
+        /// <summary>
+        /// 输出 Error (错误信息)
+        /// </summary>
+        /// <param name="msg">消息</param>
+        public void E<T>(T msg)
+        {
+            if ((ConsoleLogLevel & LogLevel.Error) == LogLevel.Error)
+                WriteConsole(LogType.e, msg.ToString());
+
+            if ((FileLogLevel & LogLevel.Error) == LogLevel.Error)
+                WriteFile(new LogModel() { Type = LogType.e, Message = msg.ToString(), CreateTime = DateTime.Now });
         }
         #endregion
     }

+ 1 - 2
Azylee.Utils/Azylee.Core/LogUtils/SimpleLogUtils/LogLevel.cs

@@ -17,7 +17,6 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
         Information = 4,
         Warning = 8,
         Error = 16,
-        Colorful = 32,
-        All = Verbose | Debug | Information | Warning | Error | Colorful,
+        All = Verbose | Debug | Information | Warning | Error,
     }
 }

+ 0 - 1
Azylee.Utils/Azylee.Core/LogUtils/SimpleLogUtils/LogType.cs

@@ -13,6 +13,5 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
         i,//information 一般提示性的消息
         w,//warning 警告
         e,//error 错误信息
-        c,//colorful 炫彩日志
     }
 }

+ 117 - 0
Azylee.Utils/Azylee.Core/WindowsUtils/ConsoleUtils/Cons.cs

@@ -0,0 +1,117 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Azylee.Core.WindowsUtils.ConsoleUtils
+{
+    /// <summary>
+    /// 控制台输出工具
+    /// </summary>
+    public static class Cons
+    {
+        /// <summary>
+        /// 输出换行内容(advanced 高级版)
+        /// </summary>
+        /// <param name="value">内容</param>
+        /// <param name="mode">文字颜色</param>
+        public static void A(string value, ConsColorMode mode = ConsColorMode.Default)
+        {
+            switch (mode)
+            {
+                case ConsColorMode.Default: Console.ResetColor(); break;
+                case ConsColorMode.Muted: SetColor(ConsoleColor.Gray, ConsoleColor.DarkGray); break;
+                case ConsColorMode.Primary: SetColor(ConsoleColor.Cyan, ConsoleColor.Black); break;
+                case ConsColorMode.Secondary: SetColor(ConsoleColor.DarkCyan, ConsoleColor.Black); break;
+                case ConsColorMode.Success: SetColor(ConsoleColor.Green, ConsoleColor.Black); break;
+                case ConsColorMode.Info: SetColor(ConsoleColor.Blue, ConsoleColor.Black); break;
+                case ConsColorMode.Warning: SetColor(ConsoleColor.Yellow, ConsoleColor.Black); break;
+                case ConsColorMode.Danger: SetColor(ConsoleColor.Red, ConsoleColor.Black); break;
+                case ConsColorMode.Dark: SetColor(ConsoleColor.DarkGray, ConsoleColor.Black); break;
+                case ConsColorMode.Light: SetColor(ConsoleColor.Black, ConsoleColor.White); break;
+            }
+            Console.WriteLine(value);
+            Console.ResetColor();
+        }
+
+        /// <summary>
+        /// 输出换行内容(standard 标准版)
+        /// </summary>
+        /// <param name="value">内容</param>
+        /// <param name="color">文字颜色</param>
+        /// <param name="bgcolor">背景颜色</param>
+        public static void S(string value, ConsoleColor color = ConsoleColor.White, ConsoleColor bgcolor = ConsoleColor.Black)
+        {
+            Console.ForegroundColor = color;
+            Console.BackgroundColor = bgcolor;
+            Console.WriteLine(value);
+        }
+
+        /// <summary>
+        /// 输出内容
+        /// </summary>
+        /// <param name="value">内容</param>
+        public static void Print(string value)
+        {
+            Console.Write(value);
+        }
+        /// <summary>
+        /// 输出内容
+        /// </summary>
+        /// <param name="value">内容</param>
+        /// <param name="color">文字颜色</param>
+        public static void Print(string value, ConsoleColor color)
+        {
+            Console.ForegroundColor = color;
+            Console.Write(value);
+        }
+        /// <summary>
+        /// 输出内容
+        /// </summary>
+        /// <param name="value">内容</param>
+        /// <param name="color">文字颜色</param>
+        /// <param name="bgcolor">背景颜色</param>
+        public static void Print(string value, ConsoleColor color, ConsoleColor bgcolor)
+        {
+            Console.ForegroundColor = color;
+            Console.BackgroundColor = bgcolor;
+            Console.Write(value);
+        }
+        /// <summary>
+        /// 输出换行内容
+        /// </summary>
+        /// <param name="value">内容</param>
+        public static void PrintLine(string value)
+        {
+            Console.WriteLine(value);
+        }
+        /// <summary>
+        /// 输出换行内容
+        /// </summary>
+        /// <param name="value">内容</param>
+        /// <param name="color">文字颜色</param>
+        public static void PrintLine(string value, ConsoleColor color)
+        {
+            Console.ForegroundColor = color;
+            Console.WriteLine(value);
+        }
+        /// <summary>
+        /// 输出换行内容
+        /// </summary>
+        /// <param name="value">内容</param>
+        /// <param name="color">文字颜色</param>
+        /// <param name="bgcolor">背景颜色</param>
+        public static void PrintLine(string value, ConsoleColor color, ConsoleColor bgcolor)
+        {
+            Console.ForegroundColor = color;
+            Console.BackgroundColor = bgcolor;
+            Console.WriteLine(value);
+        }
+
+        private static void SetColor(ConsoleColor color, ConsoleColor bgcolor)
+        {
+            Console.ForegroundColor = color;
+            Console.BackgroundColor = bgcolor;
+        }
+    }
+}

+ 54 - 0
Azylee.Utils/Azylee.Core/WindowsUtils/ConsoleUtils/ConsColorMode.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Azylee.Core.WindowsUtils.ConsoleUtils
+{
+    /// <summary>
+    /// 控制台颜色模式
+    /// </summary>
+    public enum ConsColorMode
+    {
+        /// <summary>
+        /// 默认
+        /// </summary>
+        Default,
+        /// <summary>
+        /// 柔和
+        /// </summary>
+        Muted,
+        /// <summary>
+        /// 重要
+        /// </summary>
+        Primary,
+        /// <summary>
+        /// 副标题
+        /// </summary>
+        Secondary,
+        /// <summary>
+        /// 成功
+        /// </summary>
+        Success,
+        /// <summary>
+        /// 提示
+        /// </summary>
+        Info,
+        /// <summary>
+        /// 警告
+        /// </summary>
+        Warning,
+        /// <summary>
+        /// 危险
+        /// </summary>
+        Danger,
+        /// <summary>
+        /// 深色
+        /// </summary>
+        Dark,
+        /// <summary>
+        /// 浅色
+        /// </summary>
+        Light,
+    }
+}

+ 0 - 41
Azylee.Utils/Azylee.Core/WindowsUtils/ConsoleUtils/Ct.cs

@@ -1,41 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Azylee.Core.WindowsUtils.ConsoleUtils
-{
-    public static class Ct
-    {
-        public static void P(string value)
-        {
-            Console.Write(value);
-        }
-        public static void P(string value, ConsoleColor color)
-        {
-            Console.ForegroundColor = color;
-            Console.Write(value);
-        }
-        public static void P(string value, ConsoleColor color, ConsoleColor bgcolor)
-        {
-            Console.ForegroundColor = color;
-            Console.BackgroundColor = bgcolor;
-            Console.Write(value);
-        }
-        public static void Pl(string value)
-        {
-            Console.WriteLine(value);
-        }
-        public static void Pl(string value, ConsoleColor color)
-        {
-            Console.ForegroundColor = color;
-            Console.WriteLine(value);
-        }
-        public static void Pl(string value, ConsoleColor color, ConsoleColor bgcolor)
-        {
-            Console.ForegroundColor = color;
-            Console.BackgroundColor = bgcolor;
-            Console.WriteLine(value);
-        }
-    }
-}

+ 7 - 0
Azylee.Utils/Azylee.Core/WindowsUtils/InfoUtils/ComputerInfoTool.cs

@@ -287,6 +287,13 @@ namespace Azylee.Core.WindowsUtils.InfoUtils
             { return UNKNOW; }
         }
         /// <summary>
+        /// 获取计算机类型(台式机、笔记本……)
+        /// </summary>
+        /// <returns></returns>
+        public static string ComputerType() {
+            return "UNKNOWN";
+        }
+        /// <summary>
         /// 当前用户名
         /// </summary>
         /// <returns></returns>

+ 11 - 2
Azylee.Utils/Azylee.Core/WindowsUtils/InfoUtils/PatchInfoTool.cs

@@ -16,6 +16,10 @@ namespace Azylee.Core.WindowsUtils.InfoUtils
 {
     public static class PatchInfoTool
     {
+        /// <summary>
+        /// 获取计算机所有补丁
+        /// </summary>
+        /// <returns></returns>
         public static List<string> Get()
         {
             List<string> rs = new List<string>();
@@ -27,19 +31,24 @@ namespace Azylee.Core.WindowsUtils.InfoUtils
                     string _HotFixID = item.GetPropertyValue("HotFixID").ToString().Trim();
                     if (!string.IsNullOrWhiteSpace(_HotFixID) && !rs.Contains(_HotFixID))
                     {
-                        rs.Add(_HotFixID);
+                        rs.Add(_HotFixID.ToUpper());
                     }
                 }
             }
             catch { }
             return rs;
         }
+        /// <summary>
+        /// 检查是否存在补丁
+        /// </summary>
+        /// <param name="name"></param>
+        /// <returns></returns>
         public static bool Exist(string name)
         {
             List<string> list = Get();
             if (StringTool.Ok(name) && ListTool.HasElements(list))
             {
-                if (list.Any(x => x == name.Trim())) return true;
+                if (list.Any(x => x == name.ToUpper().Trim())) return true;
             }
             return false;
         }

+ 25 - 2
Azylee.Utils/Tests/Test.ProcessTool/Program.cs

@@ -1,4 +1,8 @@
-using System;
+using Azylee.Core.AppUtils;
+using Azylee.Core.ThreadUtils.SleepUtils;
+using Azylee.Core.WindowsUtils.ConsoleUtils;
+using Azylee.Core.WindowsUtils.ShortcutUtils;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -9,7 +13,26 @@ namespace Test.ProcessTool
     {
         static void Main(string[] args)
         {
-            Azylee.Core.ProcessUtils.ProcessTool.Start("CPAU.EXE","-u Zephyr -p 123456 ");
+            ShortcutTool.Create(
+                Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
+                "测试创建快捷方式",
+                @"D:\CoCo\GitHub\Fork\Azylee.Utils\Tests\Test.ProcessTool\bin\Debug\Test.ProcessTool.exe");
+            Cons.A("测试 Default 测试");
+            Cons.A("测试 Muted 测试", ConsColorMode.Muted);
+            Cons.A("测试 Primary 测试", ConsColorMode.Primary);
+            Cons.A("测试 Secondary 测试", ConsColorMode.Secondary);
+            Cons.A("测试 Success 测试", ConsColorMode.Success);
+            Cons.A("测试 Info 测试", ConsColorMode.Info);
+            Cons.A("测试 Warning 测试", ConsColorMode.Warning);
+            Cons.A("测试 Danger 测试", ConsColorMode.Danger);
+            Cons.A("测试 Dark 测试", ConsColorMode.Dark);
+            Cons.A("测试 Light 测试", ConsColorMode.Light);
+
+            Console.WriteLine();
+            Console.WriteLine("====================");
+            Console.WriteLine("====================");
+            Console.ReadLine();
+            //Azylee.Core.ProcessUtils.ProcessTool.Start("CPAU.EXE","-u Zephyr -p 123456 ");
         }
     }
 }