在 C# 中更改 windows 主题

Changing windows theme in C#

我不知道如何解释...自定义 windows 主题,我可以从以下任何一个应用它们:

但是当我将其中的任何一个与 C# 一起使用时,它就破坏了主题——没有完全应用它。我尝试了 Verb 运行 as ,尝试制作 ps1,bat 文件和 运行 它与 C# 但仍然是同样的问题......看到这些屏幕截图以理解我的意思

我的代码:

string tokyo1 = "call " + '\u0022' + @"%windir%\Resources\Themes\Tokyo Night.theme" + '\u0022';
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c " + tokyo1;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.Verb = "runas";
process.Start();

With C#
With cmd,powershell,theme file

我假设您只是使用 shell 从 cmd.exe 执行,这样您就不需要决定应该用什么程序打开 .theme 文件。但这可以更容易地完成,而无需在执行此操作之前调用 cmd.exe:

  var windir = Environment.GetEnvironmentVariable ("windir");
  var filename = Path.Combine (windir, "Resources\Themes\Shady.theme");
  System.Diagnostics.Process.Start (filename);

感谢所有试图提供帮助的人。

我修好了!

刚刚使用 Windows 表单应用程序

不是旧的