我需要使用批处理文件或VBScript以编程方式刷新桌面和任务栏图标。

我发现这个vbs击中了通常的刷新键F5:

Set WSHShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{F5}"


但这显然不会刷新我提到的图标。

最佳答案

尝试通过杀死并以这种方式运行来刷新Explorer.exe:

Option Explicit
Dim ProcessName : ProcessName = "Explorer.exe"
Refresh(ProcessName)
'*********************************************************************
Sub Refresh(ProcessName)
Kill(ProcessName)
RunIt(ProcessName)
End Sub
'*********************************************************************
Sub Kill(ProcessName)
Dim Ws : Set Ws = CreateObject("Wscript.Shell")
Dim Command : Command = "Taskkill /F /IM "& ProcessName &""
Dim Result : Result = Ws.Run(Command,0,True)
End Sub
'*********************************************************************
Sub RunIt(ProcessName)
Dim Ws : Set Ws = CreateObject("Wscript.Shell")
Dim Result : Result = Ws.Run(ProcessName,1,False)
End Sub
'*********************************************************************

关于vbscript - 刷新桌面和任务栏中的所有图标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33307240/

10-10 19:30