Board logo

标题: [问题求助] vbs 如何模拟右键刷新 [打印本页]

作者: 807979023    时间: 2014-6-4 05:51     标题: vbs 如何模拟右键刷新

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

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

dim wh
set wh=createobject("wscript.shell")
for i=1 to 5            '刷新次数
wh.sendkeys "{F5}"
wscript.sleep 3000      '3000为延迟,单位是毫秒
next
作者: 9zhmke    时间: 2014-6-14 12:01

如果是IE,可以调用刷新的,大致是这样:ie.document.Location.Reload(True) 可以百度一下。
作者: 心态    时间: 2014-7-12 23:26

为什么要这么做    有何意义
作者: 807979023    时间: 2014-7-16 21:00

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

试试运行 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
  1. CreateObject("WScript.Shell").Run "RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters", 0, True
复制代码

作者: 807979023    时间: 2014-7-16 21:45

试过 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

效果比右键刷新差.

批处理修改桌面壁纸后运行有效,窗口中运行无效.
作者: 807979023    时间: 2014-8-4 21:13

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

能不能改为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);
作者: CrLf    时间: 2014-8-4 22:39

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





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2