1

我正在开发的一个软件包会安装它自己的 Windows 主题,并在安装过程中尝试使其成为当前主题。我们设法在安装过程中通过大量注册表编辑(重新启动应用更改)在 Windows XP 上实现了此功能,但 Vista 似乎需要更多的 reqistry 更改。

我们还发现“运行”主题文件将打开主题对话框并选择主题,但用户需要单击确定。一个脚本可以做到这一点,没错,但是在非英语 Windows 上找到 OK 按钮是一个我不想解决的挑战。

那么,有没有办法以编程方式更改 Windows Vista 中的当前主题?

4

2 回答 2

2

很抱歉破坏了一个旧线程,但我仍然在互联网上看到这个问题。

Windows 离它的 DOS 根源还不是很远。您可以使用此命令打开控制面板并加载您的主题。

这适用于 Windows 7,但可以针对 Vista 进行修改。只需外壳,或将其键入命令窗口:

C:\Windows\system32\rundll32.exe C:\Windows\system32\shell32.dll,Control_RunDLL C:\Windows\system32\desk.cpl 桌面,@Themes /Action:OpenTheme /file: SomeDir\themename.themepack

基本上,只需使用 rundll32 运行控制面板,然后将其提供给您的主题。您将弹出一个控制面板对话框,但主题将自动安装。

如果您希望它安装一个没有对话框弹出的主题,您将需要进行大规模的注册表破解。

于 2012-03-12T16:58:26.137 回答
0

这是一个肮脏的技巧:如果所有其他方法都失败了,您可以尝试 UI Automation Toolkit 自动“单击”确定按钮。:)

于 2008-11-14T22:29:46.650 回答