Vbscript 平铺窗口的脚本仅使用屏幕的一半

Vbscript 平铺窗口的脚本仅使用屏幕的一半,vbscript,windows-10,Vbscript,Windows 10,我有一个小问题:在Windows7、8和8.1下,我总是使用一点VBScript打开两个文件夹并垂直平铺它们 Set objShell = CreateObject("Shell.Application") objShell.MinimizeAll Wscript.Sleep 600 objShell.Explore("some folder 1") objShell.Explore("some folder 2") Wscript.Sleep 600 objShell.TileVertical

我有一个小问题:在Windows7、8和8.1下,我总是使用一点VBScript打开两个文件夹并垂直平铺它们

Set objShell = CreateObject("Shell.Application")
objShell.MinimizeAll
Wscript.Sleep 600
objShell.Explore("some folder 1")
objShell.Explore("some folder 2")
Wscript.Sleep 600
objShell.TileVertically
但是在Windows10中,这个脚本不能正常工作

它可以工作,但当启动时,两个窗口的结果垂直平铺在屏幕上,而不是完全显示在屏幕的左侧(好像我想在桌面上放置四个窗口)


有人有主意吗?

问题是windows平铺的窗口比您想要的多,除了资源管理器窗口之外,还有脚本提示也平铺。您可以通过创建tile.ps1脚本来解决此问题:

Invoke-Item "some folder 1"
Start-Sleep -s 6
Invoke-Item "some folder 2"
Start-Sleep -s 6
(New-Object -ComObject  Shell.Application).TileHorizontally()
Exit
并通过start.vbs脚本以静默方式运行它:

Dim objShell,objFSO,objFile
Set objShell=CreateObject("WScript.Shell")
Set objFSO=CreateObject("Scripting.FileSystemObject")
scriptdir = objFSO.GetParentFolderName(WScript.ScriptFullName)
strPath = scriptdir & "\tile.ps1"
If objFSO.FileExists(strPath) Then
    set objFile=objFSO.GetFile(strPath)
    strCMD="powershell -noprofile -executionpolicy bypass -command " & Chr(34) & "&{" &_
     objFile.ShortPath & "}" & Chr(34)
    objShell.Run strCMD,0
Else
    WScript.Echo "Failed to find " & strPath
    WScript.Quit
End If

我刚测试时,你的代码对我来说运行得很好。嗨,Ansgar,但是你在Windows 10下测试了代码?因为你明确说你在Windows 10上有这个问题,所以在任何其他操作系统上测试都有点傻,不是吗?我要求你确认一下,因为我在3台装有Windows 10的电脑上测试了这个脚本,以排除我正在使用的笔记本电脑的广告问题,而且每台电脑的结果都不同。我在VirtualBox虚拟机上测试了Windows 10 Pro(32位)的普通安装。