使用批处理刷新桌面

发布于 2024-10-17 03:06:07 字数 199 浏览 4 评论 0 原文

我需要使用批处理刷新桌面,这可能吗?

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

Set WSHShell = CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

谢谢-

I need to refresh the desktop ussing batch is this possible?

I have found the following VBscript that refreshes the containing window however, the desktop needs to be refreahed and its not the containing window

anyways around this?

Set WSHShell = CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

thx-

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

乙白 2024-10-24 03:06:07

您可以尝试这个:

rundll32 user32.dll,UpdatePerUserSystemParameters  

或者这个:

ie4uinit.exe -ClearIconCache

但是,它取决于版本。

You may try this:

rundll32 user32.dll,UpdatePerUserSystemParameters  

Or this:

ie4uinit.exe -ClearIconCache

It is, however, version dependent.

半夏半凉 2024-10-24 03:06:07

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


编译的 EXE

使用 来自 sepago 网站的 CLI 刷新工具 ( 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)

On Win7 this can be done by calling the function "SHChangeNotify" from "shell32.dll".
The problem is that AFAIK this function can't be successfully loaded using "rundll32.exe", so instead use a program that can do it.


Compiled EXE

Use this CLI Refresh Tool from sepago website (32/64 bit images available for download)

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)
旧人九事 2024-10-24 03:06:07
@echo off
setlocal EnableExtensions DisableDelayedExpansion
ie4uinit.exe -show
endlocal
@echo off
setlocal EnableExtensions DisableDelayedExpansion
ie4uinit.exe -show
endlocal
怂人 2024-10-24 03:06:07

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

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

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

编辑

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

Does it have to be strictly native commands?

If you can use AutoIt, you can use the following script:

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

EDIT

This works on XP. I have not tried it on Vista or 7.

第七度阳光i 2024-10-24 03:06:07

试试这个

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

Try this

     @echo off
     taskkill /fi "imagename eq explorer.exe" /f
     CD /d %userprofile%\AppData\Local
     DEL IconCache.db /a
     START explorer.exe
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文