使用批处理刷新桌面

时间:2011-02-09 09:22:41

标签: batch-file refresh desktop

我需要刷新桌面批量这可能吗?

我发现以下VBscript刷新了包含窗口但是,桌面需要重新刷新而不是包含窗口

无论如何都在这附近?

Set WSHShell = CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

THX -

5 个答案:

答案 0 :(得分:6)

你可以试试这个:

rundll32 user32.dll,UpdatePerUserSystemParameters  

或者这个:

ie4uinit.exe -ClearIconCache

然而,它取决于版本。

答案 1 :(得分:3)

在Win7上,这可以通过从“shell32.dll”调用函数“SHChangeNotify”来完成。 问题是AFAIK使用“rundll32.exe”无法成功加载此函数,因此请使用可以执行此操作的程序。


编译EXE

使用this CLI Refresh Tool from sepago website(32/64位图像可供下载)

AHK(AutoHotKey)

DllCall("Shell32\SHChangeNotify", UInt, 0x08000000, UInt, 0, UIntP, 0, UIntP, 0)

的AutoIt

DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "uint", BitOR(0x0, 0x1000), "ptr", 0, "ptr", 0)

答案 2 :(得分:2)

@echo off
setlocal EnableExtensions DisableDelayedExpansion
ie4uinit.exe -show
endlocal

答案 3 :(得分:1)

它必须是严格的本机命令吗?

如果您可以使用AutoIt,则可以使用以下脚本:

WinActivate("Program Manager") 
Send("{F5}")

修改

这适用于XP。我没有在Vista或7上试过它。

答案 4 :(得分:1)

试试这个

     @echo off
     taskkill /fi "imagename eq explorer.exe" /f
     CD /d %userprofile%\AppData\Local
     DEL IconCache.db /a
     START explorer.exe