
На компьютере с 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, реестр каждый раз опрашивается на предмет звуков, поэтому изменение реестра должно приводить к тому же результату, перезагрузка или перезапуск звука или оболочки не должны требоваться, как это может потребоваться при других изменениях реестра.
Обратное действие я пытаюсь продемонстрировать здесь. Изменить один файл, на который указываете вы и другие пользователи, вместо того, чтобы менять все указатели реестра пользователей на этот файл.
решение2
Вы можете создать .bat, который меняет все звуковые схемы с помощью реестра. Звуки находятся в
HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\.Default\
Вы можете написать пакетный файл, который проходит по каждой записи и устанавливает ее на то, что вы хотите. Затем поместите ярлык для этой bat в
C:\Users\[User]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
папка для каждого пользователя (ярлык, так что вам нужно редактировать только один файл для всех пользователей). Когда пользователь входит в систему, .bat выполняется.
Пример .bat-файла для остановки всех звуков: https://github.com/ReneNyffenegger/Configure-Windows/blob/master/sound.bat
(не мое, но найдено через быстрый поиск в Google, спасибо 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\
. Замените нужные файлы, но это будет применяться только к пользователям, которые используют этот звук по умолчанию.