deboe1986
Goto Top

Desktopsymbole ausblenden bzw. anzeigen

Hallo zusammen,

es gibt folgende Option auf dem Desktop:

Rechtsklick => Symbole anordnen nach => Desktopsymbole anzeigen.

Genau diese Option bräuchte ich als Script. Habe die Änderungen in der Registry mal geloggt
und bin auf diesen Key gekommen:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideIcons

Habe dies daraufhin mal abgeändert und

%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

ausgeführt - jedoch ist nichts passiert.

Werden bei dieser Option / Einstellung noch andere Dinge geändert?
Kann mir da jemand weiterhelfen?

Viele Grüße,
D.B.

Content-Key: 121164

Url: https://administrator.de/contentid/121164

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: pieh-ejdsch
pieh-ejdsch 23.07.2009 um 23:13:56 Uhr
Goto Top
Ich hatte mal ein Projekt angefangen....

Hab mir mal was Testhalber geschrieben um die Desktopsymbole/Verknüpfungen bei Portable Apps Betrieb Temporär zu Verlagern. Und danach wieder Rüchwärtig zu verschieben. Dazu habe ich ein Paar Modifizierungen vorgenommen.

Die Datei "dsklocked" ist nur eine Sicherheitsdatei damit erst wieder zurückverschoben wird, wenn diese gelöscht wird.
Zum beispiel per hand oder von nem anderem Script.

Dazu benötigst Du allerdings noch die pcwSIcon.dll aus pcwSIcon2

Die CMD merkt sich beim ersten ausführen die Desktopsymbolpositionen und verschiebt allle Symbole (exklusive Ordner) in einen Anderen DesktopOrdner.

Beim Zweiten klick werden wenn die Datei "dsklocked" entfernt ist - die Destopsymbole wiedergeholt Repositioniert.


Desktoptemp.cmd
@echo off & setlocal

if exist "%APPDATA%\portSIcon.ini" (if not exist dsklocked (  
		for /f "usebackq delims=" %%i in (`dir /a:-d /b "%ALLUSERSPROFILE%\portDesktop"`) do move /y "%ALLUSERSPROFILE%\portDesktop\%%i" "%ALLUSERSPROFILE%\Desktop"  
		for /f "usebackq delims=" %%i in (`dir /a:-d /b "%USERPROFILE%\portDesktop"`) do move /y "%USERPROFILE%\portDesktop\%%i" "%USERPROFILE%\Desktop"  
		if not exist "%ALLUSERSPROFILE%\portDesktop\*.*" rmdir /q "%ALLUSERSPROFILE%\portDesktop"  
		if not exist "%USERPROFILE%\portDesktop\*.*" rmdir /q "%USERPROFILE%\portDesktop"  
		RestoreIcons.vbs
		del "%APPDATA%\portSIcon.ini" /f /q >nul  
		goto :eof
	)
)
if not exist dsklocked (echo 1>dsktp) else del dsktp /f /q >nul
if not exist dsklocked (if exist dsktp (SaveIcons.vbs & echo 1>dsklocked &&  echo. & echo. & echo. & echo          Screen is locked & ping localhost -n 3 >nul)) else echo. & echo. & echo. & echo          now Screen is locked & ping localhost -n 3 >nul && goto :eof)

if exist dsktp (if not exist "%APPDATA%\portSIcon.ini" goto :eof)  
mkdir "%ALLUSERSPROFILE%\portDesktop" 2>nul  
mkdir "%USERPROFILE%\portDesktop" 2>nul  
for /f "usebackq delims=" %%i in (`dir /a:-d /b "%ALLUSERSPROFILE%\Desktop"`) do move /y "%ALLUSERSPROFILE%\Desktop\%%i" "%ALLUSERSPROFILE%\portDesktop"  
for /f "usebackq delims=" %%i in (`dir /a:-d /b "%USERPROFILE%\Desktop"`) do move /y "%USERPROFILE%\Desktop\%%i" "%USERPROFILE%\portDesktop"  

RestoreIcons.vbs
'==========================================================================  
'  
' VBScript Source File   
'  
' NAME: RestDemo.VBS  
'  
' AUTHOR: Thorsten Eggeling  
' DATE  : 02.2001  
'  
' COMMENT: Rücksichern der Desktop-Icon-Positionen  
'  
' nötige Anpassungen: IniFileName, [Resolution]  
'                       
'==========================================================================  
'IniFileName=Mid(WScript.ScriptFullName, 1, InStr(WScript.ScriptFullName, WScript.ScriptName)-1) & "SRIcons.ini"  
 
Set mySIcon = CreateObject("pcwSIcon.pcwSIcon")  
Set WshShell = WScript.CreateObject("WScript.Shell")  
Set WshSysEnv = WshShell.Environment("Process")  
appDataPath = WshSysEnv("APPDATA")   

'MsgBox("Layout wiederherstellen.")  

With mySIcon
'.About  
.IniFileName=appDataPath+"\portSIcon.ini"  
'bei Bedarf läßt sich hier ein eigener Layout-Name festlegen  
.Resolution="myDesktop"  
.Restore
End With

SaveIcons.vbs
'==========================================================================  
'  
' VBScript Source File   
'  
' NAME: SaveDemo.VBS  
'  
' AUTHOR: Thorsten Eggeling  
' DATE  : 02.2001  
'  
' COMMENT: Sichern der Desktop-Icon-Positionen  
'  
' nötige Anpassungen: IniFileName, [Resolution]  
'                       
'==========================================================================  
'IniFileName=Mid(WScript.ScriptFullName, 1, InStr(WScript.ScriptFullName, WScript.ScriptName)-1) & "SRIcons.INI"  

Set mySIcon = CreateObject("pcwSIcon.pcwSIcon")  
Set WshShell = WScript.CreateObject("WScript.Shell")  
Set WshSysEnv = WshShell.Environment("Process")  
appDataPath = WshSysEnv("APPDATA")   

ACHTUNG! Bitte mach vorher ein Backup vom %userprofile%\Desktop

Achtung2
Ich habe das CMDScript ein bisschen Schlampig geschrieben. Wie gesagt es ist nur ein Prototype.
Wenn die Datei "desklocked" immer noch vorhanden ist wird beim 2. Ausführen der Batch die Positionsdatei gelöscht und die Positionen sind weg. Mache daher bitte eine Sicherung von der %appdata%\portSIcon.ini
oder Schreibe Die Batch um.

Gruß Phil