[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] vbs 如何模拟右键刷新

如题 vbs 如何模拟右键刷新?

网上的方法是模拟F5刷新,不可靠:

dim wh
set wh=createobject("wscript.shell")
for i=1 to 5            '刷新次数
wh.sendkeys "{F5}"
wscript.sleep 3000      '3000为延迟,单位是毫秒
next

如果是IE,可以调用刷新的,大致是这样:ie.document.Location.Reload(True) 可以百度一下。

TOP

为什么要这么做    有何意义

TOP

做了两个修改了注册表的批处理: 不显示隐藏文件.bat  显示所有文件.bat
运行后虽要右键刷新,窗口视图才能生效.不太方便.
当然先结束explorer.exe,再启动explorer.exe也能实现,但比较费时.

TOP

试试运行 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
  1. CreateObject("WScript.Shell").Run "RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters", 0, True
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

试过 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

效果比右键刷新差.

批处理修改桌面壁纸后运行有效,窗口中运行无效.

TOP

网上找到一段代码,称完美解决模拟右键刷新.

能不能改为vbs 执行 ?


HWND hCWC = NULL;
     do {
         hCWC = FindWindowEx(NULL, hCWC, _T("CabinetWClass"), NULL);
         if (hCWC == NULL) break;
         PostMessage(hCWC, WM_COMMAND, 41504, NULL);
     } while (hCWC);
PostMessage(GetShellWindow(),WM_COMMAND,41504,NULL);

TOP

可以这样:
  1. assoc .我是一个不存在的后缀名=bbs.bathome.net
  2. assoc .我是一个不存在的后缀名=
复制代码

TOP

返回列表