Ich schreibe gerade ein Script, um die Desktop-Icons (zum Jahreswechsel) zu erneuern. Grundsätzlich sehr einfach, läuft aber nicht durch:
... etlicher Code um bei Eigenschaften die neuen Icons einzutragen: funktioniert
; Nun noch den Desktop erneuern: Explorer killen, Cache löschen, Explorer starten
Runwait("taskkill /f /IM explorer.exe")
FileDelete("c:\Users\"&@UserName&"\AppData\Local\IconCache.db")
Run("explorer")
Das Problem liegt in der Zeile "Run("explorer")".
Taskkill beendet den Desktop korrekt, und Run("explorer") soll(te) ihn wieder starten.
Statt dessen wird aber nur ein Explorerfenster geöffnet. Desktop (und Taskzeile, Startmenü, ...) bleiben tot.
Wenn ich über <alt><ctrl><del>Taskmanager/neuerTask:"Explorer" starte, dann erscheint alles wieder (Korrekt, mit den aktualisierten Icons!)
Ich hab schon viele Varianten erfolglos ausprobiert: Run/Runwait/ShelExecute ... mit /ohne Pfad / System/ SysWOW84 ...
Wie kann ich den Desktop - nach gekilltem Explorer - wieder aktivieren?
Aktuell hab ich nur das WorkAround, dass danach der Rechner neugestartet werden muss, weil ich den Benutzern nicht zumuten und nicht angewöhnen will, dass sie im Taskmanager rumbasteln sollen.
System: Win 7 64 Bit SP1, Benutzer sind ohne Adminrechte