Fix search box and systray for Win10/Win11 compatibility
- Add Search subkey for Win10 search box hiding - Clear TrayNotify icon streams as Win11 systray workaround - Restart Explorer to apply taskbar changes in current session Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
29e25d5905
commit
79fcfea8df
1 changed files with 36 additions and 1 deletions
|
|
@ -131,7 +131,10 @@ try {
|
||||||
# Win11: align taskbar to left (0 = left, 1 = center)
|
# Win11: align taskbar to left (0 = left, 1 = center)
|
||||||
Set-ProfileReg -SubKey $tbPath -Name "TaskbarAl" -Value 0
|
Set-ProfileReg -SubKey $tbPath -Name "TaskbarAl" -Value 0
|
||||||
|
|
||||||
# Hide Search box / button (0 = hidden, 1 = icon, 2 = full box)
|
# Hide Search box / button - Win10/11 (0 = hidden, 1 = icon, 2 = full box)
|
||||||
|
# Note: Win11 uses Search subkey, Win10 uses Explorer\Advanced - set both
|
||||||
|
Set-ProfileReg -SubKey "Software\Microsoft\Windows\CurrentVersion\Search" `
|
||||||
|
-Name "SearchboxTaskbarMode" -Value 0
|
||||||
Set-ProfileReg -SubKey $tbPath -Name "SearchboxTaskbarMode" -Value 0
|
Set-ProfileReg -SubKey $tbPath -Name "SearchboxTaskbarMode" -Value 0
|
||||||
|
|
||||||
# Hide Task View button
|
# Hide Task View button
|
||||||
|
|
@ -155,9 +158,27 @@ try {
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
# System tray - show all icons
|
# System tray - show all icons
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
# EnableAutoTray = 0 works on Win10; Win11 ignores it but set anyway
|
||||||
Set-ProfileReg -SubKey "Software\Microsoft\Windows\CurrentVersion\Explorer" `
|
Set-ProfileReg -SubKey "Software\Microsoft\Windows\CurrentVersion\Explorer" `
|
||||||
-Name "EnableAutoTray" -Value 0
|
-Name "EnableAutoTray" -Value 0
|
||||||
|
|
||||||
|
# Win11 workaround: clear cached tray icon streams so all icons appear on next login
|
||||||
|
# Windows rebuilds the streams with all icons visible when no cache exists
|
||||||
|
$trayNotifyKey = "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify"
|
||||||
|
if (Test-Path $trayNotifyKey) {
|
||||||
|
Remove-ItemProperty -Path $trayNotifyKey -Name "IconStreams" -Force -ErrorAction SilentlyContinue
|
||||||
|
Remove-ItemProperty -Path $trayNotifyKey -Name "PastIconsStream" -Force -ErrorAction SilentlyContinue
|
||||||
|
Write-Log " Cleared TrayNotify icon streams (Win11 systray workaround)" -Level OK
|
||||||
|
}
|
||||||
|
|
||||||
|
# Also clear in Default hive so new users start with clean state
|
||||||
|
$defTrayKey = "Registry::HKU\DefaultProfile\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify"
|
||||||
|
if (Test-Path $defTrayKey) {
|
||||||
|
Remove-ItemProperty -Path $defTrayKey -Name "IconStreams" -Force -ErrorAction SilentlyContinue
|
||||||
|
Remove-ItemProperty -Path $defTrayKey -Name "PastIconsStream" -Force -ErrorAction SilentlyContinue
|
||||||
|
Write-Log " Cleared TrayNotify icon streams in Default hive" -Level OK
|
||||||
|
}
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
# Desktop icons - show This PC
|
# Desktop icons - show This PC
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
|
@ -286,4 +307,18 @@ finally {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
# Restart Explorer to apply taskbar/tray changes to current session
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
Write-Log "Restarting Explorer to apply taskbar changes" -Level INFO
|
||||||
|
try {
|
||||||
|
Stop-Process -Name explorer -Force -ErrorAction SilentlyContinue
|
||||||
|
Start-Sleep -Seconds 2
|
||||||
|
Start-Process explorer
|
||||||
|
Write-Log "Explorer restarted" -Level OK
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Log "Explorer restart failed (non-fatal): $_" -Level WARN
|
||||||
|
}
|
||||||
|
|
||||||
Write-Log "Step 4 complete" -Level OK
|
Write-Log "Step 4 complete" -Level OK
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue