如何在 Windows 8.1 中以编程方式更改当前的 Windows 主题?

Posted

技术标签:

【中文标题】如何在 Windows 8.1 中以编程方式更改当前的 Windows 主题?【英文标题】:How to change the current Windows theme programatically in windows 8.1? 【发布时间】:2015-03-19 08:29:57 【问题描述】:

从 Windows XP 到 Windows 7,您可以使用命令行更改当前的:(How do I change the current Windows theme programmatically?)。但在 Windows 8.1(我想是 Windows 8)中,它不起作用。

我能做到的唯一方法是使用 WinaeroThemeSwitcher (http://winaero.com/comment.php?comment.news.209)。

如何通过本机命令或 C# 执行此操作? WinaeroThemeSwitcher 证明这是可能的。

【问题讨论】:

使用 JustDecompile、ILSpy 或其他工具来看看他是如何使用他的工具完成的 不知道。我投票给你,因为这是一个合理的问题 【参考方案1】:

我终于找到了方法。使用 ILSpy(几乎没有更正)帮助很大。谢谢magicandre1981。

后来我也在网上找到了一个使用 COM 对象 GUID(类 ThemeManagerHelpClass)的实现:

https://github.com/opkorz/CS199_Thesis/blob/master/Implementation1/CL_Utility2.ps1

【讨论】:

请帮帮我。我使用 JustDecompile 和 ILSpy 对其进行反编译,并进行了一些更正,但它不起作用!你能告诉我反编译后应该编辑哪一个吗?提前致谢! 你试过github链接里的代码了吗?我将它与主题文件一起使用:themeManager.ApplyTheme(themeFilePath);

以上是关于如何在 Windows 8.1 中以编程方式更改当前的 Windows 主题?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中以编程方式更改按钮文本

如何在 C# 中以编程方式将 Windows 服务的启动类型更改为禁用

如何在 Windows 中以编程方式强制重启/重新加载 Playback 设备?

如何以编程方式更改 Win 8.1 或 Win 10 UWP 应用的背景主题?

使用 Qt 在 Windows 中以编程方式更改网络适配器名称

如何在 Swift 中以编程方式更改 UICollectionViewCell 大小?