我想获取 Windows 7 操作系统中已安装 AERO 主题的信息列表(带有文件名和真实主题名称)。
我还需要将当前主题更改为已安装的主题之一,但不要使用,process.start(ThemeFile)
因为我尝试这样做时会打开个性化面板...
我知道这里是安装的主题文件来获取文件名:“C:\Windows\Resources\Themes”
但是我问是否存在比列出该目录的文件内容更好的方法,因为我也需要真实姓名,并且我想知道如何在不打开个性化面板的情况下将当前主题更改为其他主题。
这方面的一个例子......我的操作系统上只有两个 Aero 主题。
文件名是:
Aero.theme
Concave_seven.theme
但是个性化面板中出现的主题名称是:
Windows 7
Concave 7
我想检索文件名和真实姓名以将其存储在列表框中,以将当前主题更改为所需主题。
更新,
我试过的...
' Load theme names
For Each Theme As System.IO.FileInfo In New System.IO.DirectoryInfo(Environment.GetEnvironmentVariable("windir") & "\Resources\Themes").GetFiles("*theme")
ComboBox1.Items.Add(Theme.ToString.Substring(0, Theme.ToString.Length - 6))
Next
' Change theme
' Process.start(ThemeFilename)
' rundll32.exe Shell32.dll,Control_RunDLL desk.cpl desk,@Themes /Action:OpenTheme /File:"C:\Windows\Resources\Themes\aero.theme"