0

嗨,我是 excel vb 的新手。尝试使用 .vbs 文件,可能需要一个工作示例,谢谢。(试图让行距在这里工作..)

我有一个 .vbs 文件,我直接粘贴到桌面,以切换隐藏文件扩展名的设置。它不会刷新桌面和资源管理器(在第一次单击文件时),就像手动设置它一样(如下所示)。我需要刷新部分的帮助。

我有一个使用 .vbs 文件的示例:

手动设置:(隐藏扩展:让您免费刷新桌面和资源管理器)

资源管理器、工具、选项、视图、复选框:隐藏已知文件类型的扩展名(该项目自动更新桌面和 Windows 资源管理器)。

我想将其合并到我的脚本中。同样的基本思想:我的脚本到一个文本/ .vbs 文件,这样我就可以在我的桌面上单击(作为切换,即单击一次将其打开,下一次单击将其关闭;明白了/它可以工作),我需要添加到它以产生与两者相同或等效的刷新:桌面和资源管理器)。

将以下内容粘贴到文本文件(或产生相同结果的等效文件):

FileExt = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt"

Set Sh = WScript.CreateObject("WScript.Shell")

St = Sh.RegRead(FileExt)

If St = 1 Then

Sh.RegWrite FileExt, 0, "REG_DWORD"

Else

Sh.RegWrite FileExt, 1, "REG_DWORD"

End If

Sh.SendKeys("{F5}") 

将文本文件重命名为:HIDE EXT.vbs 而不是 .txt,并将其粘贴到桌面。

需要什么:

我需要添加的是桌面和资源管理器窗口的刷新。与手动设置时相同。这里的 F5 似乎不是第一次工作。在第二次单击文件时,它可以将视图发送到与视图“状态”实际所在的视图相反的位置。

4

2 回答 2

0

希望这可以帮助:

代替

Sh.SendKeys("{F5}") 

尝试使用:

Sh.run "cmd.exe /c taskkill /f /im explorer.exe && start explorer.exe"

它对我很好。(我使用的是 XP 和 windows server 2003)

我发现 F5 键不会像桌面一样简单地工作,右键单击,然后单击刷新。我在这里引用了我的代码:http: //en.kioskea.net/faq/7789-batch-script-to-automatically-reload-explorer-exe

于 2014-03-28T08:22:08.827 回答
0

当我设法发现这段代码的问题时,我感到非常高兴。

看了半天,才意识到在调用F5之前需要在脚本中添加一个“休眠”功能。这样你就不会有问题,点击就会起作用。

OBS1:即便如此,我也没有找到更新桌面的解决方案。该脚本仅适用于活动窗口。如果您在桌面背景上启动它,它将更新所有文件夹和文件,否则它只会更新打开的文件夹。

OBS2:睡眠值示例-> 1000 = 1s 下面是代码:

FileExt = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt"

Set Sh = WScript.CreateObject("WScript.Shell")

St = Sh.RegRead(FileExt)

If St = 1 Then

Sh.RegWrite FileExt, 0, "REG_DWORD"

wscript.sleep 500

Else

Sh.RegWrite FileExt, 1, "REG_DWORD"

wscript.sleep 500

End If

Sh.SendKeys("{F5}") 

如果有人知道我如何将 F5 发送到桌面,我将不胜感激。谢谢

于 2020-09-17T01:31:10.583 回答