diff --git a/Lib.Tools.Avalonia/Icons.cs b/Lib.Tools.Avalonia/Icons.cs new file mode 100644 index 0000000..b7b2ada --- /dev/null +++ b/Lib.Tools.Avalonia/Icons.cs @@ -0,0 +1,25 @@ +// Author: Gockner, Simon +// Created: 2021-04-26 +// Copyright(c) 2021 SimonG. All Rights Reserved. + +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using Bitmap = Avalonia.Media.Imaging.Bitmap; + +namespace Lib.Tools.Avalonia +{ + public static class Icons + { + public static Bitmap ExtractAssociatedIcon(string executablePath) + { + Icon icon = Icon.ExtractAssociatedIcon(executablePath); + + using MemoryStream memoryStream = new(); + icon.ToBitmap().Save(memoryStream, ImageFormat.Png); + memoryStream.Position = 0; + + return new Bitmap(memoryStream); + } + } +} \ No newline at end of file diff --git a/Lib.Tools.Avalonia/Lib.Tools.Avalonia.csproj b/Lib.Tools.Avalonia/Lib.Tools.Avalonia.csproj new file mode 100644 index 0000000..3096ff4 --- /dev/null +++ b/Lib.Tools.Avalonia/Lib.Tools.Avalonia.csproj @@ -0,0 +1,12 @@ + + + + net5.0 + + + + + + + + diff --git a/Mystify.sln b/Mystify.sln index 749266f..fedde72 100644 --- a/Mystify.sln +++ b/Mystify.sln @@ -16,6 +16,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib.Tools", "Lib.Tools\Lib. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib.ProcessManaging", "Lib.ProcessManaging\Lib.ProcessManaging.csproj", "{F9289F56-8780-45E0-9285-55710DFEDD0F}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib.Tools.Avalonia", "Lib.Tools.Avalonia\Lib.Tools.Avalonia.csproj", "{8F61D9C4-E7C7-440C-AE8C-D55FDA06BC5A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -54,5 +56,9 @@ Global {F9289F56-8780-45E0-9285-55710DFEDD0F}.Debug|Any CPU.Build.0 = Debug|Any CPU {F9289F56-8780-45E0-9285-55710DFEDD0F}.Release|Any CPU.ActiveCfg = Release|Any CPU {F9289F56-8780-45E0-9285-55710DFEDD0F}.Release|Any CPU.Build.0 = Release|Any CPU + {8F61D9C4-E7C7-440C-AE8C-D55FDA06BC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8F61D9C4-E7C7-440C-AE8C-D55FDA06BC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8F61D9C4-E7C7-440C-AE8C-D55FDA06BC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8F61D9C4-E7C7-440C-AE8C-D55FDA06BC5A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal