
130834
30.03.2018
Explorer Registry Schlüssel neu laden (Batch)
Hallo liebe Administratoren.
Ich versuche gerade durch eine Batch den Explorer dazu zu bringen die Desktop Icons anzuzeigen oder auszublenden.
Es gibt dafür den Registry Schlüssel
Den man auf 1 setzen kann um die Icons zu verstecken.
Nur wie schaffe ich es das der Explorer den Schlüssel neu einließt?
Den Explorer einfach per abzuschießen scheint mir etwas sehr unelegant und ich hab schon eine Anwendung
gesehen die diese Funktion erfüllt, ohne den Explorer zu beenden, leider ist diese nur timer-basierend und besitzt keinen manuellen Auslöser, damit nutzlos für mich.
Hat da jemand ne Idee?
noch nen schönen Abend,
lg clragon
Ich versuche gerade durch eine Batch den Explorer dazu zu bringen die Desktop Icons anzuzeigen oder auszublenden.
Es gibt dafür den Registry Schlüssel
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
DWORD: HideIcons (0 oder 1)
Den man auf 1 setzen kann um die Icons zu verstecken.
Nur wie schaffe ich es das der Explorer den Schlüssel neu einließt?
Den Explorer einfach per
taskkill
gesehen die diese Funktion erfüllt, ohne den Explorer zu beenden, leider ist diese nur timer-basierend und besitzt keinen manuellen Auslöser, damit nutzlos für mich.
Hat da jemand ne Idee?
noch nen schönen Abend,
lg clragon
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 369812
Url: https://administrator.de/forum/explorer-registry-schluessel-neu-laden-batch-369812.html
Ausgedruckt am: 03.05.2025 um 05:05 Uhr
11 Kommentare
Neuester Kommentar

Das lässt sich machen, nur musst du dazu schon etwas mehr als die Batch bemühen, denn Batch kann von sich aus keine Win32 Funktionen aufrufen, d.h. du müsstest dir also selbst eine Exe dazu schreiben oder Powershell in deine Batch einbetten.
Dein Stichwort zum Desktop/Explorer-Refresh lautet SHChangeNotify
https://stackoverflow.com/questions/26441747/refresh-desktop-vb-net
https://www.codeproject.com/Tips/205472/Change-Registry-Settings-and-Bro ...
Gruß schnuffi
Dein Stichwort zum Desktop/Explorer-Refresh lautet SHChangeNotify
https://stackoverflow.com/questions/26441747/refresh-desktop-vb-net
https://www.codeproject.com/Tips/205472/Change-Registry-Settings-and-Bro ...
Gruß schnuffi
Servus @130834 ,
mit SHChangeNotify wird das in dem Fall eher wenig, da reicht hier für die Desktop-Icons eine WM_COMMAND an den Program Manager zu senden, aber wie schon von Schnuffi gesagt wurde nur mit reinem Batch kommst du da nicht weit. Aber mit etwas Hilfe der Powershell kannst du folgendes direkt in deine Batch schreiben um die Icons ein oder auszublenden (Toggle):
Grüße Uwe
mit SHChangeNotify wird das in dem Fall eher wenig, da reicht hier für die Desktop-Icons eine WM_COMMAND an den Program Manager zu senden, aber wie schon von Schnuffi gesagt wurde nur mit reinem Batch kommst du da nicht weit. Aber mit etwas Hilfe der Powershell kannst du folgendes direkt in deine Batch schreiben um die Icons ein oder auszublenden (Toggle):
@echo off &setlocal
powershell -Ex ByPass -Command "New-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name HideIcons -Value 0 -Type DWORD -Force; Add-Type -MemberDefinition '[DllImport(\"user32.dll\")]public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport(\"user32.dll\")]public static extern IntPtr GetWindow(IntPtr hWnd, int uCmd);[DllImport(\"user32.dll\")] public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, int lParam);' -Name Win32 -Namespace Tools;$hwnd = [Tools.Win32]::GetWindow([Tools.Win32]::FindWindow('Progman','Program Manager'),5);[Tools.Win32]::SendMessage($hwnd,0x111,0x7402,0)"
Grüße Uwe

Hier geht es ebenso.
Gruß Schnuffi
Gruß Schnuffi

Du sollst den Explorer ja auch nicht neu starten, das macht das Skript ja überflüssig.
Hier klappt das einwandfrei, ändern musst du an den Werten auch nichts, so wie ich das sehe fügt er den Wert nur profilaktisch hinzu, die spätere Funktion "toggelt" die Sichtbarkeit d.h. bei jedem Aufruf wird umgeswitscht, und hier geht das problemlos, muss also bei dir liegen.
Hier klappt das einwandfrei, ändern musst du an den Werten auch nichts, so wie ich das sehe fügt er den Wert nur profilaktisch hinzu, die spätere Funktion "toggelt" die Sichtbarkeit d.h. bei jedem Aufruf wird umgeswitscht, und hier geht das problemlos, muss also bei dir liegen.