【问题标题】:How to revert Corporate Windows 7 Theme如何恢复企业 Windows 7 主题
【发布时间】:2010-12-21 10:17:20
【问题描述】:

作为我圣诞节周的副项目,我想我会敲出一个可以从 windows 启动文件夹运行的快速控制台应用程序。

该应用程序将删除一些不需要的全球企业桌面图标(我喜欢运行干净的桌面 - 这很常见吗?)并将 Windows 7 主题重置为我可爱的 ​​Visual Studio 2010 图形。

我已经阅读了为什么不应该以编程方式为用户执行此操作的原因,但我觉得这种情况有所不同,因为每天早上我都手动删除图标并重置主题(政策并没有阻止这一点 - 只是重新应用它每天早上),所以我认为这个小项目可以长期节省我的时间。

我正在删除图标,但我正在努力设置我的主题 ala:

Dim key As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Themes", True)

key.SetValue("CurrentTheme", "C:\Users\myprofile\AppData\Local\Microsoft\Windows\Themes\VS2010.theme")

key.Close()

这是正确设置注册表项但未应用它。任何有关如何使这项工作或替代方案的建议将不胜感激。最终我可能会尝试一个简单的壁纸集,但如果可能的话我想使用主题!

谢谢

【问题讨论】:

  • 我也很恼火,我还没有代表添加/创建标签圣诞项目 - 我认为这是重要的信息,希望比我更高的人添加它!干杯:)

标签: vb.net windows-7 registry themes


【解决方案1】:

您必须通过 P/Invoke 进行更改。您需要使用SetSystemVisualStyle 方法。

<DllImport("UxTheme.DLL", BestFitMapping:=False, CallingConvention:=CallingConvention.Winapi, CharSet:=CharSet.Unicode, EntryPoint:="#65")> _
Shared Function SetSystemVisualStyle(ByVal pszFilename As String, ByVal pszColor As String, ByVal pszSize As String, ByVal dwReserved As Integer) As Integer
End Function

SetSystemVisualStyle("C:\WINDOWS\resources\Themes\Luna\Luna.msstyles", "Metallic", "NormalSize", 0)

PInvoke.net 现在给我出了问题,所以您可能需要使用 cached page

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 2012-08-28
    • 2013-12-10
    • 2020-10-19
    • 1970-01-01
    • 2011-01-10
    • 2012-11-07
    相关资源
    最近更新 更多