浏览代码

添加部分常用工具(有待整理),调整控制台输出

yuzhengyang 7 年之前
父节点
当前提交
7cfc91aa14

+ 5 - 4
Azylee.Utils/Azylee.Core/LogUtils/SimpleLogUtils/Log.cs

@@ -19,6 +19,7 @@ using Azylee.Core.DataUtils.StringUtils;
 using Azylee.Core.IOUtils.DirUtils;
 using Azylee.Core.IOUtils.DirUtils;
 using Azylee.Core.IOUtils.FileUtils;
 using Azylee.Core.IOUtils.FileUtils;
 using Azylee.Core.IOUtils.TxtUtils;
 using Azylee.Core.IOUtils.TxtUtils;
+using Azylee.Core.WindowsUtils.ConsoleUtils;
 using System;
 using System;
 using System.Collections.Concurrent;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Collections.Generic;
@@ -143,9 +144,9 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
         {
         {
             try
             try
             {
             {
-                Console.ForegroundColor = GetColor(type);
+                Cons.SetColor(GetColor(type), ConsoleColor.Black);
                 Console.WriteLine(LOG_FORMAT, DateTime.Now.ToString(TIME_FORMAT), type.ToString(), message);
                 Console.WriteLine(LOG_FORMAT, DateTime.Now.ToString(TIME_FORMAT), type.ToString(), message);
-
+                Cons.ResetColor();
                 //取消单独线程输出日志文件(单独线程输出日志必然会有延迟)
                 //取消单独线程输出日志文件(单独线程输出日志必然会有延迟)
                 //if (IsWriteFile) Queue.Enqueue(new LogModel() { Type = type, Message = message, CreateTime = DateTime.Now });
                 //if (IsWriteFile) Queue.Enqueue(new LogModel() { Type = type, Message = message, CreateTime = DateTime.Now });
             }
             }
@@ -165,8 +166,8 @@ namespace Azylee.Core.LogUtils.SimpleLogUtils
                 //创建日志目录
                 //创建日志目录
                 DirTool.Create(filePath);
                 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);
+                //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(
                 TxtTool.Append(
                     file,
                     file,

+ 56 - 73
Azylee.Utils/Azylee.Core/WindowsUtils/ConsoleUtils/Cons.cs

@@ -1,4 +1,5 @@
-using System;
+using Azylee.Core.DataUtils.CollectionUtils;
+using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Text;
 using System.Text;
@@ -10,90 +11,62 @@ namespace Azylee.Core.WindowsUtils.ConsoleUtils
     /// </summary>
     /// </summary>
     public static class Cons
     public static class Cons
     {
     {
+        const string LOG_FORMAT = "{0}  {1}  ";
+        const string TIME_FORMAT = "HH:mm:ss.fff";
         /// <summary>
         /// <summary>
         /// 输出换行内容(advanced 高级版)
         /// 输出换行内容(advanced 高级版)
         /// </summary>
         /// </summary>
         /// <param name="value">内容</param>
         /// <param name="value">内容</param>
         /// <param name="mode">文字颜色</param>
         /// <param name="mode">文字颜色</param>
-        public static void A(string value, ConsColorMode mode = ConsColorMode.Default)
+        public static void Log(string value, ConsColorMode mode = ConsColorMode.Default)
         {
         {
+            ConsoleColor headcolor = ConsoleColor.White, headbgcolor = ConsoleColor.DarkRed;
+            ConsoleColor bodycolor = ConsoleColor.White, bodybgcolor = ConsoleColor.DarkRed;
+            #region 设置内容颜色,格式化内容
             switch (mode)
             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;
+                case ConsColorMode.Default: bodycolor = ConsoleColor.Gray; bodybgcolor = ConsoleColor.Black; break;
+                case ConsColorMode.Muted: bodycolor = ConsoleColor.Gray; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Primary: bodycolor = ConsoleColor.White; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Secondary: bodycolor = ConsoleColor.Cyan; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Success: bodycolor = ConsoleColor.Green; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Info: bodycolor = ConsoleColor.Blue; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Warning: bodycolor = ConsoleColor.Yellow; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Danger: bodycolor = ConsoleColor.Red; bodybgcolor = ConsoleColor.DarkGray; break;
+                case ConsColorMode.Dark: bodycolor = ConsoleColor.White; bodybgcolor = ConsoleColor.Black; break;
+                case ConsColorMode.Light: bodycolor = ConsoleColor.Black; bodybgcolor = ConsoleColor.White; break;
             }
             }
-            Console.WriteLine(value);
-            Console.ResetColor();
-        }
+            try
+            {
+                //string[] lines = value.Split(new[] { "\r", "\n", "\r\n", "\n\r", Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
+                //value = String.Join<string>($"{Environment.NewLine}{new string(' ', 18)}└", lines);
+            }
+            catch { }
+            #endregion
 
 
-        /// <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);
+            #region 输出内容
+            SetColor(headcolor, headbgcolor);
+            Write(string.Format(LOG_FORMAT, DateTime.Now.ToString(TIME_FORMAT), ">"));
+
+            SetColor(bodycolor, bodybgcolor);
+            Write(value);
+            WriteLine("");
+
+            ResetColor();
+            #endregion
         }
         }
+
+
         /// <summary>
         /// <summary>
         /// 输出内容
         /// 输出内容
         /// </summary>
         /// </summary>
         /// <param name="value">内容</param>
         /// <param name="value">内容</param>
         /// <param name="color">文字颜色</param>
         /// <param name="color">文字颜色</param>
         /// <param name="bgcolor">背景颜色</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)
+        public static void Write(string value)
         {
         {
-            Console.ForegroundColor = color;
-            Console.WriteLine(value);
+            try { Console.Write(value); } catch { }
         }
         }
         /// <summary>
         /// <summary>
         /// 输出换行内容
         /// 输出换行内容
@@ -101,17 +74,27 @@ namespace Azylee.Core.WindowsUtils.ConsoleUtils
         /// <param name="value">内容</param>
         /// <param name="value">内容</param>
         /// <param name="color">文字颜色</param>
         /// <param name="color">文字颜色</param>
         /// <param name="bgcolor">背景颜色</param>
         /// <param name="bgcolor">背景颜色</param>
-        public static void PrintLine(string value, ConsoleColor color, ConsoleColor bgcolor)
+        public static void WriteLine(string value)
         {
         {
-            Console.ForegroundColor = color;
-            Console.BackgroundColor = bgcolor;
-            Console.WriteLine(value);
+            try { Console.WriteLine(value); } catch { }
         }
         }
 
 
-        private static void SetColor(ConsoleColor color, ConsoleColor bgcolor)
+        public static void SetColor(ConsoleColor color, ConsoleColor bgcolor)
         {
         {
-            Console.ForegroundColor = color;
-            Console.BackgroundColor = bgcolor;
+            try
+            {
+                Console.ForegroundColor = color;
+                Console.BackgroundColor = bgcolor;
+            }
+            catch { }
+        }
+        public static void ResetColor()
+        {
+            try
+            {
+                Console.ResetColor();
+            }
+            catch { }
         }
         }
     }
     }
 }
 }

+ 14 - 7
Azylee.Utils/Azylee.Core/WindowsUtils/InfoUtils/SoftwareTool.cs

@@ -1,10 +1,4 @@
-//************************************************************************
-//      author:     yuzhengyang
-//      date:       2018.3.27 - 2018.6.3
-//      desc:       工具描述
-//      Copyright (c) yuzhengyang. All rights reserved.
-//************************************************************************
-using Azylee.Core.DataUtils.CollectionUtils;
+using Azylee.Core.DataUtils.CollectionUtils;
 using Azylee.Core.ProcessUtils;
 using Azylee.Core.ProcessUtils;
 using Microsoft.Win32;
 using Microsoft.Win32;
 using System;
 using System;
@@ -105,6 +99,19 @@ namespace Azylee.Core.WindowsUtils.InfoUtils
         {
         {
             return ProcessTool.IsExists(name);
             return ProcessTool.IsExists(name);
         }
         }
+        /// <summary>
+        /// 存在进程(单字符串 [,/,] 分割)
+        /// </summary>
+        /// <param name="names"></param>
+        /// <returns></returns>
+        public static bool ExistProcess2(string names)
+        {
+            try
+            {
+                return ExistProcess(names.Replace(',', ',').Replace('/', ',').Split(','));
+            }
+            catch { return false; }
+        }
         public static bool ExistProcess(string[] names)
         public static bool ExistProcess(string[] names)
         {
         {
             bool flag = false;
             bool flag = false;

+ 25 - 0
Azylee.Utils/Azylee.Core/WindowsUtils/RegisterUtils/RegisterTool.cs

@@ -4,6 +4,7 @@
 //      desc:       注册表操作工具
 //      desc:       注册表操作工具
 //      Copyright (c) yuzhengyang. All rights reserved.
 //      Copyright (c) yuzhengyang. All rights reserved.
 //************************************************************************
 //************************************************************************
+using Azylee.Core.DataUtils.StringUtils;
 using Microsoft.Win32;
 using Microsoft.Win32;
 using System;
 using System;
 
 
@@ -189,5 +190,29 @@ namespace Azylee.Core.WindowsUtils.RegisterUtils
             }
             }
             return Registry.CurrentUser.CreateSubKey(subkey);
             return Registry.CurrentUser.CreateSubKey(subkey);
         }
         }
+
+        /// <summary>
+        /// 判断是否存在项、键、值匹配
+        /// </summary>
+        /// <param name="key"></param>
+        /// <param name="name"></param>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static bool Exist(string key, string name, string value)
+        {
+            if (Str.Ok(key) && Str.Ok(name))
+            {
+                string val = RegisterTool.GetValue(key, name);
+                if (Str.Ok(value))
+                {
+                    if (Str.Ok(val) && value == val) return true;
+                }
+                else
+                {
+                    if (val != null) return true;
+                }
+            }
+            return false;
+        }
     }
     }
 }
 }

+ 10 - 10
Azylee.Utils/Tests/Test.ProcessTool/Program.cs

@@ -17,16 +17,16 @@ namespace Test.ProcessTool
                 Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                 Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                 "测试创建快捷方式",
                 "测试创建快捷方式",
                 @"D:\CoCo\GitHub\Fork\Azylee.Utils\Tests\Test.ProcessTool\bin\Debug\Test.ProcessTool.exe");
                 @"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);
+            Cons.Print("测试 Default 测试");
+            Cons.Print("测试 Muted 测试", ConsColorMode.Muted);
+            Cons.Print("测试 Primary 测试", ConsColorMode.Primary);
+            Cons.Print("测试 Secondary 测试", ConsColorMode.Secondary);
+            Cons.Print("测试 Success 测试", ConsColorMode.Success);
+            Cons.Print("测试 Info 测试", ConsColorMode.Info);
+            Cons.Print("测试 Warning 测试", ConsColorMode.Warning);
+            Cons.Print("测试 Danger 测试", ConsColorMode.Danger);
+            Cons.Print("测试 Dark 测试", ConsColorMode.Dark);
+            Cons.Print("测试 Light 测试", ConsColorMode.Light);
 
 
             Console.WriteLine();
             Console.WriteLine();
             Console.WriteLine("====================");
             Console.WriteLine("====================");