在 Windows 7 机器上,我想更改声音方案并让它们影响该机器上的所有用户。
我发现,如果我以没有管理员权限的用户身份登录,我可以更改哪些声音在哪些事件上播放,这些更改对于该用户在该计算机上的登录会话中保持不变。但是,这些更改不适用于同一台计算机上的其他用户。
如果我以具有管理权限的用户身份登录,我该怎么做才能做出至少默认适用于计算机上所有用户的更改?
答案1
另一种与更改注册表中简单文本文件的其他更“正确”方法相反的想法。
在我的系统中,我使用循环声音,因为重复并不好玩。我更改声音的方法是重命名波形文件以更改系统下的声音,而注册表保持不变。
重命名是非常快的操作,经过多年使用这种奇怪的方法,我没有遇到任何问题(一个文件丢失,你可以猜到会发生什么)。
这是用于更改每个引导的批处理文件之一的一部分,已精简以适合作为示例。
rename C:\WINDOWS\media\EndSound\000.wav 011.wav
rename C:\WINDOWS\media\EndSound\001.wav 000.wav
rename C:\WINDOWS\media\EndSound\002.wav 001.wav
rename C:\WINDOWS\media\EndSound\003.wav 002.wav
rename C:\WINDOWS\media\EndSound\004.wav 003.wav
rename C:\WINDOWS\media\EndSound\005.wav 004.wav
rename C:\WINDOWS\media\EndSound\006.wav 005.wav
rename C:\WINDOWS\media\EndSound\007.wav 006.wav
rename C:\WINDOWS\media\EndSound\008.wav 007.wav
rename C:\WINDOWS\media\EndSound\009.wav 008.wav
rename C:\WINDOWS\media\EndSound\010.wav 009.wav
rename C:\WINDOWS\media\EndSound\011.wav 010.wav
我使用另一个长批处理和任务调度程序,每小时更改系统中重复次数最多的约 10 个声音。没有“for”循环,正如您所见,只有原始的简单重命名。
我没有多个用户,所以我只能假设对您来说,对每个人都指向的文件进行简单的重命名就可以了,不需要复制或移动。
组织一堆连续的文件项(001,002,003)比处理一堆命名奇怪的文件(即使在注册表插入中)更容易。
注意:
在测试之前,我必须复制整个媒体文件夹,将其全部复制,以便重复多次,检查测试,然后我删除多余的备份,知道它正在正常工作。
从我在 regmon 中看到的情况来看,注册表每次都会轮询声音,因此更改注册表应该做同样的事情,不需要重新启动或重新启动音频或 shell,就像其他注册表编辑一样。
我试图在这里演示如何逆转这种情况。更改您和其他用户指向的一个文件,而不是更改指向该文件的所有用户注册表指针。
答案2
您可以创建一个 .bat 文件,使用注册表更改所有声音方案。声音位于
HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\.Default\
您可以编写一个批处理文件,遍历每个条目并将其设置为您想要的任何内容。然后,将该批处理的快捷方式放入
C:\Users\[User]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
文件夹(快捷方式,因此您只需为所有用户编辑一个文件)。当用户登录时,将执行 .bat。
示例 .bat 文件用于停止以下所有声音: https://github.com/ReneNyffenegger/Configure-Windows/blob/master/sound.bat
(不是我的,但通过快速谷歌找到的,感谢编写它的 ReneNyffenegger)
答案3
使用注册表的方法:
- 扫描
HKEY_USERS
注册表配置单元以查找所有用户(名称类似于S-1-5-19
)。 - 该键
HKEY_USERS\S-1-5-19\AppEvents\Schemes\Apps\.Default
包含该用户的所有声音定义。
例如,您将在 下找到登录声音WindowsLogon\.Current
,其(Default)
值为%SystemRoot%\media\Windows Logon Sound.wav
。 - 将其更改为 Windows 可以播放的任何其他文件(通常为 .wav)。
如果您希望更改某些事件的默认声音,可以在 中找到这些 .wav 文件
%SystemRoot%\media\
。替换您想要的文件,但这仅适用于使用该默认声音的用户。