From c48e934b54701033d34a47601b75d932193ab268 Mon Sep 17 00:00:00 2001 From: ema Date: Sat, 10 Aug 2024 14:39:26 +0800 Subject: [PATCH] first commit --- .github/workflows/makedark.yml | 29 +++ .gitignore | 173 ++++++++++++++++++ LICENSE | 21 +++ MakeDark.sln | 25 +++ README.md | 15 ++ assets/image-20240810143110413.png | Bin 0 -> 90024 bytes src/Favicon.ico | Bin 0 -> 5890 bytes src/Favicon.png | Bin 0 -> 5656 bytes src/Favicon.svg | 1 + src/MakeDark.csproj | 42 +++++ src/NativeMethods.cs | 107 +++++++++++ src/Program.cs | 71 +++++++ .../PublishProfiles/FolderProfile.pubxml | 18 ++ src/Properties/launchSettings.json | 8 + src/ShortcutHelper.cs | 133 ++++++++++++++ 15 files changed, 643 insertions(+) create mode 100644 .github/workflows/makedark.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 MakeDark.sln create mode 100644 README.md create mode 100644 assets/image-20240810143110413.png create mode 100644 src/Favicon.ico create mode 100644 src/Favicon.png create mode 100644 src/Favicon.svg create mode 100644 src/MakeDark.csproj create mode 100644 src/NativeMethods.cs create mode 100644 src/Program.cs create mode 100644 src/Properties/PublishProfiles/FolderProfile.pubxml create mode 100644 src/Properties/launchSettings.json create mode 100644 src/ShortcutHelper.cs diff --git a/.github/workflows/makedark.yml b/.github/workflows/makedark.yml new file mode 100644 index 0000000..80a97fa --- /dev/null +++ b/.github/workflows/makedark.yml @@ -0,0 +1,29 @@ +name: MakeDark + +on: + release: + types: [created] + push: + branches: + - master + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 8.0.x + + - name: Setup Windows SDK + uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.5 + + - name: Install dependencies + run: dotnet restore src\MakeDark.csproj + + - name: Build + run: dotnet build src\MakeDark.csproj --configuration Release --no-restore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..262d668 --- /dev/null +++ b/.gitignore @@ -0,0 +1,173 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Rr]eport/ + +# Visual Studio cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.* +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile +*.VC.db + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axocover/ + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_/ +.*crunch*.local.xml +nCrunchTemp_*/ + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml + +# Note: This signature is weak since it does not require VisualStudioVersion=12.0 and it may match on files not in solution folders +*__[Rr]e[Ss]harper.user +*_*.suo +*_*.user +*_*.aps +*_*.ncb +*_*.opensdf +*_*.sdf +*_*.cachefile +*_*.VC.db +*_*.bak +*__history/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git +_reportMaxUpgradeOrder.numbers.html +Backup*/Web.config* +UpgradeLog*.XML +UpgradeLog*.htm +UpgradeLog*.html +UpgradeLog*.txt + +# Windows Presentation Foundation (WPF) specific +*.g.xaml +*.g.cs + +# XAML generated resource dictionaries +*.baml + +# Backup files when performing XAML Binding debugging +*.backupid-*.BindingExpression diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0463556 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Lemutec + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/MakeDark.sln b/MakeDark.sln new file mode 100644 index 0000000..36a5bd5 --- /dev/null +++ b/MakeDark.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34902.65 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeDark", "src\MakeDark.csproj", "{BEBBDDC5-A479-470B-AA88-CDBDF70C8022}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BEBBDDC5-A479-470B-AA88-CDBDF70C8022}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BEBBDDC5-A479-470B-AA88-CDBDF70C8022}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEBBDDC5-A479-470B-AA88-CDBDF70C8022}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BEBBDDC5-A479-470B-AA88-CDBDF70C8022}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E503C867-4D7D-4414-A048-1E90CF07CCD2} + EndGlobalSection +EndGlobal diff --git a/README.md b/README.md new file mode 100644 index 0000000..751fb82 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +[![Actions](https://github.com/lemutec/MakeDark/actions/workflows/makedark.yml/badge.svg)](https://github.com/lemutec/MakeDark/actions/workflows/makedark.yml) [![Platform](https://img.shields.io/badge/platform-Windows-blue?logo=windowsxp&color=1E9BFA)](https://dotnet.microsoft.com/zh-cn/download/dotnet/latest/runtime) + +# MakeDark + +Make your windows application launch as dark mode. + +## Usage + +Drag&drop the `*.lnk` or `*.exe` file to `makedark.exe`. + +And then the `*.lnk` file will be edited to launch using MakeDark. + +## Effect + +image-20240810143110413 diff --git a/assets/image-20240810143110413.png b/assets/image-20240810143110413.png new file mode 100644 index 0000000000000000000000000000000000000000..9c2fb5d22e65f4f58fa953a95e8e16dfa54d65a0 GIT binary patch literal 90024 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 literal 0 HcmV?d00001 diff --git a/src/Favicon.ico b/src/Favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..074053edb676ad3765d3c1e93bc5d4122bfb51d4 GIT binary patch literal 5890 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 literal 0 HcmV?d00001 diff --git a/src/Favicon.svg b/src/Favicon.svg new file mode 100644 index 0000000..41e0127 --- /dev/null +++ b/src/Favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/MakeDark.csproj b/src/MakeDark.csproj new file mode 100644 index 0000000..6d13e80 --- /dev/null +++ b/src/MakeDark.csproj @@ -0,0 +1,42 @@ + + + + WinExe + net8.0-windows + enable + enable + true + 12.0 + true + false + true + false + Favicon.ico + makedark + 0.1.0 + 0.1.0 + $(VersionPrefix)0.1.0 + Lemutec + + + + + + + + + + + + + tlbimp + 0 + 1 + f935dc20-1cf0-11d0-adb9-00c04fd58a0b + 0 + false + true + + + + diff --git a/src/NativeMethods.cs b/src/NativeMethods.cs new file mode 100644 index 0000000..b6f226b --- /dev/null +++ b/src/NativeMethods.cs @@ -0,0 +1,107 @@ +using System.Runtime.InteropServices; + +namespace MakeDark; + +internal static class NativeMethods +{ + [DllImport("user32.dll", SetLastError = true)] + public static extern nint FindWindow(string lpClassName, string lpWindowName); + + [DllImport("user32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindow(nint hWnd); + + [DllImport("dwmapi.dll", PreserveSig = true)] + public static extern int DwmSetWindowAttribute(nint hwnd, DwmWindowAttribute attr, ref int attrValue, int attrSize); + + [DllImport("ntdll.dll", SetLastError = true)] + public static extern int RtlGetVersion(ref RTL_OSVERSIONINFOEX lpVersionInformation); + + public static bool IsWindows10Version1809OrAbove() + { + RTL_OSVERSIONINFOEX versionInfo = new() + { + dwOSVersionInfoSize = (uint)Marshal.SizeOf(), + }; + + if (RtlGetVersion(ref versionInfo) == 0) + { + // Windows 10 1809 + return versionInfo.dwMajorVersion >= 10 && versionInfo.dwBuildNumber >= 17763; + } + + return false; + } + + public static bool EnableDarkModeForWindow(nint hWnd, bool enable = true) + { + if (IsWindows10Version1809OrAbove()) + { + int darkMode = enable ? 1 : 0; + int hr = DwmSetWindowAttribute(hWnd, DwmWindowAttribute.UseImmersiveDarkMode, ref darkMode, sizeof(int)); + return hr >= 0; + } + return true; + } + + public static bool SetRoundedCorners(nint hWnd, bool enable = true) + { + if (IsWindows10Version1809OrAbove()) + { + int preference = enable ? (int)DwmWindowCornerPreference.DWMWCP_ROUND : (int)DwmWindowCornerPreference.DWMWCP_DONOTROUND; + int hr = DwmSetWindowAttribute(hWnd, DwmWindowAttribute.WindowCornerPreference, ref preference, sizeof(int)); + return hr >= 0; + } + return true; + } + + public enum DwmWindowAttribute : uint + { + NCRenderingEnabled = 1, + NCRenderingPolicy, + TransitionsForceDisabled, + AllowNCPaint, + CaptionButtonBounds, + NonClientRtlLayout, + ForceIconicRepresentation, + Flip3DPolicy, + ExtendedFrameBounds, + HasIconicBitmap, + DisallowPeek, + ExcludedFromPeek, + Cloak, + Cloaked, + FreezeRepresentation, + PassiveUpdateMode, + UseHostBackdropBrush, + UseImmersiveDarkMode = 20, + WindowCornerPreference = 33, + BorderColor, + CaptionColor, + TextColor, + VisibleFrameBorderThickness, + SystemBackdropType, + Last, + } + + public enum DwmWindowCornerPreference : uint + { + DWMWCP_DEFAULT = 0, + DWMWCP_DONOTROUND = 1, + DWMWCP_ROUND = 2, + DWMWCP_ROUNDSMALL = 3 + } + + [StructLayout(LayoutKind.Sequential)] + public struct RTL_OSVERSIONINFOEX + { + public uint dwOSVersionInfoSize; + public uint dwMajorVersion; + public uint dwMinorVersion; + public uint dwBuildNumber; + public uint dwPlatformId; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string szCSDVersion; + } +} diff --git a/src/Program.cs b/src/Program.cs new file mode 100644 index 0000000..c1da129 --- /dev/null +++ b/src/Program.cs @@ -0,0 +1,71 @@ +using Lnk; +using System.Diagnostics; + +namespace MakeDark; + +internal static class Program +{ + public static void Main(string[] args) + { + if (args.Length <= 0) + { + return; + } + + string fileName = args[0]; + + if (!File.Exists(fileName)) + { + return; + } + + if (Path.GetExtension(fileName)?.ToLower().Equals(".lnk") ?? false) + { + LnkFile? src = ShortcutHelper.Open(fileName); + + if (src != null) + { + if (src.LocalPath == Environment.ProcessPath) + { + // Done. + return; + } + + LnkFile2 tar = new() + { + SourceFile = src.SourceFile, + LocalPath = Environment.ProcessPath, + WorkingDirectory = src.WorkingDirectory, + Arguments = ArgumentExtension.ToArguments([src.LocalPath, src.Arguments]), + Description = "Make Dark Mode Launcher Lnk", + IconLocation = src.LocalPath + }; + _ = ShortcutHelper.Create(tar); + } + } + else + { + using Process process = new() + { + StartInfo = new ProcessStartInfo() + { + FileName = args[0], + Arguments = string.Join(" ", args[1..].Select(a => $"\"{a}\"")) + } + }; + + process.Start(); + process.WaitForInputIdle(); + + SpinWait.SpinUntil(() => process.HasExited || process.MainWindowHandle != IntPtr.Zero); + + if (process.HasExited) + { + return; + } + + NativeMethods.EnableDarkModeForWindow(process.MainWindowHandle); + NativeMethods.SetRoundedCorners(process.MainWindowHandle); + } + } +} diff --git a/src/Properties/PublishProfiles/FolderProfile.pubxml b/src/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..c21f27f --- /dev/null +++ b/src/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,18 @@ + + + + + Release + Any CPU + bin\Release\net8.0-windows\publish\win-x64\ + FileSystem + <_TargetId>Folder + net8.0-windows + false + win-x64 + true + false + + \ No newline at end of file diff --git a/src/Properties/launchSettings.json b/src/Properties/launchSettings.json new file mode 100644 index 0000000..f0e834b --- /dev/null +++ b/src/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "MakeDark": { + "commandName": "Project", + "commandLineArgs": "C:\\Users\\ema\\Desktop\\LocalSend.lnk" + } + } +} \ No newline at end of file diff --git a/src/ShortcutHelper.cs b/src/ShortcutHelper.cs new file mode 100644 index 0000000..098fd57 --- /dev/null +++ b/src/ShortcutHelper.cs @@ -0,0 +1,133 @@ +using Lnk; + +namespace MakeDark; + +internal static class ShortcutHelper +{ + public static LnkFile? Open(string fileName) + { + if (!File.Exists(fileName)) + { + return null!; + } + + byte[] raw = File.ReadAllBytes(fileName); + + if (raw[0] == 0x4c) + { + LnkFile lnkObj = new(raw, fileName); + return lnkObj; + } + return null!; + } + + public static bool Create(LnkFile2 lnkFile) + { + if (string.IsNullOrWhiteSpace(lnkFile.SourceFile)) + { + return false; + } + + FileInfo lnkFileInfo = new(lnkFile.SourceFile); + + if (!Directory.Exists(lnkFileInfo.DirectoryName)) + { + _ = Directory.CreateDirectory(lnkFileInfo.DirectoryName!); + } + +#if false + IWshRuntimeLibrary.WshShell shell = new(); + IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(lnkFile.SourceFile); + shortcut.TargetPath = lnkFile.LocalPath; + shortcut.WorkingDirectory = lnkFile.WorkingDirectory; + shortcut.WindowStyle = 1; + shortcut.Arguments = lnkFile.Arguments; + shortcut.Description = lnkFile.Description; + shortcut.IconLocation = lnkFile.IconLocation; + shortcut.Save(); +#else + dynamic shell = null!; + dynamic shortcut = null!; + + try + { + shell = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8"))!)!; + shortcut = shell.CreateShortcut(lnkFile.SourceFile); + shortcut.TargetPath = lnkFile.LocalPath; + shortcut.WorkingDirectory = lnkFile.WorkingDirectory; + shortcut.WindowStyle = 1; + shortcut.Arguments = lnkFile.Arguments; + shortcut.Description = lnkFile.Description; + shortcut.IconLocation = lnkFile.IconLocation; + shortcut.Save(); + } + finally + { + if (shortcut != null) + { + _ = System.Runtime.InteropServices.Marshal.FinalReleaseComObject(shortcut); + } + if (shell != null) + { + _ = System.Runtime.InteropServices.Marshal.FinalReleaseComObject(shell); + } + } +#endif + return true; + } +} + +public sealed class LnkFile2 +{ + public string? SourceFile { get; set; } + public string? LocalPath { get; set; } + public string? WorkingDirectory { get; set; } + public string? Arguments { get; set; } + public string? Description { get; set; } + public string? IconLocation { get; set; } + public int WindowStyle { get; set; } = 1; +} + +public static class ArgumentExtension +{ + public static string[] ParseArguments(string commandLine) + { + List args = []; + string currentArg = string.Empty; + bool inQuotes = false; + + for (int i = 0; i < commandLine.Length; i++) + { + char c = commandLine[i]; + + if (c == '"') + { + inQuotes = !inQuotes; + } + else if (c == ' ' && !inQuotes) + { + if (currentArg != string.Empty) + { + args.Add(currentArg); + currentArg = string.Empty; + } + } + else + { + currentArg += c; + } + } + + if (currentArg != string.Empty) + { + args.Add(currentArg); + } + + return [.. args]; + } + + public static string ToArguments(IEnumerable args) + { + return string.Join(" ", args?.Select(arg => (arg?.Contains(' ') ?? false) ? $"\"{arg}\"" : arg) ?? []); + } +}