41 lines
952 B
C#
41 lines
952 B
C#
|
using System;
|
|||
|
using Microsoft.Win32;
|
|||
|
|
|||
|
namespace AutoDark {
|
|||
|
class AutoDark {
|
|||
|
static int Main(string[] args) {
|
|||
|
int mode = -1;
|
|||
|
|
|||
|
if (args.Length > 0 && args[0].Equals("dark", StringComparison.InvariantCultureIgnoreCase))
|
|||
|
mode = 0;
|
|||
|
else if (args.Length > 0 && args[0].Equals("light", StringComparison.InvariantCultureIgnoreCase))
|
|||
|
mode = 1;
|
|||
|
else if (args.Length > 0) // there is an argument, but it's invalid
|
|||
|
return -1;
|
|||
|
|
|||
|
RegistryKey k = Registry.CurrentUser.OpenSubKey(
|
|||
|
"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",
|
|||
|
true
|
|||
|
);
|
|||
|
|
|||
|
// if no argument, then just toggle
|
|||
|
if (mode == -1) {
|
|||
|
string val = k.GetValue("AppsUseLightTheme", 1).ToString();
|
|||
|
mode = int.Parse(val);
|
|||
|
if (mode == 1)
|
|||
|
mode = 0;
|
|||
|
else
|
|||
|
mode = 1;
|
|||
|
}
|
|||
|
|
|||
|
if (k != null) {
|
|||
|
k.SetValue("AppsUseLightTheme", mode, RegistryValueKind.DWord);
|
|||
|
k.Close();
|
|||
|
} else
|
|||
|
return -2;
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|