Cambiare lo schema è relativamente facile. Tuttavia, è necessario applicare il nuovo schema, che è un po 'più coinvolto.
Lo schema "Nessun suono" ha il nome .None
; puoi vederlo esplorando HKEY_CURRENT_USER\AppEvents\Schemes\Names
.
Lo schema selezionato è a HKEY_CURRENT_USER\AppEvents\Schemes
, il cui valore predefinito è .Default
. Quindi puoi impostare lo schema selezionato modificandolo in .None
:
New-ItemProperty -Path HKCU:\AppEvents\Schemes -Name "(Default)" -Value ".None" -Force | Out-Null
Ciò imposterà (tecnicamente) lo schema selezionato, che è possibile verificare andando alle impostazioni Suoni e vedere che lo No Sounds
schema è selezionato. Tuttavia, i suoni dell'evento continueranno a suonare, e questo perché lo schema selezionato non è stato applicato .
Per applicare uno schema sonoro, l'azione appropriata è:
- Per ogni corrispondenza di evento dell'app
HKEY_CURRENT_USER\AppEvents\Schemes\Apps\*\*
, copia la sottochiave per il nuovo nome di schema sulla sottochiave chiamata .Current
.
A titolo di esempio, di applicare il regime Nessun suono per l'evento Sistema esclamativo, occorre copiare HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemExclamation\.None
sopra HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemExclamation\.Current
.
Tuttavia, nel tuo caso, puoi semplicemente cancellare tutti i valori, poiché stai applicando un tema "senza suoni". Questo può essere realizzato da un one-liner:
Get-ChildItem -Path "HKCU:\AppEvents\Schemes\Apps" | Get-ChildItem | Get-ChildItem | Where-Object {$_.PSChildName -eq ".Current"} | Set-ItemProperty -Name "(Default)" -Value ""
Passo dopo passo:
Get-ChildItem -Path "HKCU:\AppEvents\Schemes\Apps"
ottiene tutte le app.
Get-ChildItem
ottiene tutti gli eventi dell'app.
Get-ChildItem
ottiene tutte le impostazioni audio dell'evento app per ogni schema.
Where-Object {$_.PSChildName -eq ".Current"}
seleziona tutte le impostazioni audio dell'evento app attualmente applicate.
Set-ItemProperty -Name "(Default)" -Value ""
cancella quelle impostazioni audio.
Per un po 'più di dettaglio:
Sembra che le chiavi in HKEY_CURRENT_USER\AppEvents\Schemes\Apps
basso siano le app, con il loro valore predefinito è una stringa di visualizzazione. Quelli sul mio sistema sono .Default
("Windows"), Explorer
("Esplora file") e sapisvr
("Riconoscimento vocale").
Le chiavi in ciascuna chiave dell'app sono gli eventi dell'app per quell'app.
I tasti sotto ogni tasto evento dell'app sono i suoni da riprodurre per ogni schema sonoro. Così HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemExclamation\.None
è il suono da riprodurre per l'esclusione di sistema di Windows quando si utilizza lo schema Nessun suono, ed HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemExclamation\.Default
è il suono da riprodurre per l'esclusione di sistema di Windows quando si utilizza lo schema predefinito di Windows.
Inoltre, c'è una .Current
chiave a questo livello che è il suono reale che viene riprodotto. Presumibilmente, quando si seleziona un nuovo schema nell'interfaccia utente, copia ciascuna delle impostazioni singolarmente sul .Current
valore.