如何使用vb脚本最大化,恢复或最小化窗口?

时间:2010-09-29 17:31:24

标签: vbscript

我需要能够制作separte .vbs文件(当用键盘快捷方式触发时)将使活动窗口最大化,最小化或恢复。

如何在不下载和安装(此处不允许)单独包的情况下执行此操作。

5 个答案:

答案 0 :(得分:16)

VBScript和Windows脚本宿主不提供用于最大化/最小化/恢复窗口的内部函数。没有任何第三方工具,您唯一的选择是使用SendKeys模拟键盘窗口系统菜单中相应命令的快捷方式。

  • 要最大化活动窗口,您可以模拟 Alt + SpaceBar x 快捷方式:

    Set oShell = CreateObject("WScript.Shell")
    oShell.SendKeys "% x"
    
  • 要最小化活动窗口,请使用 Alt + SpaceBar n

    Set oShell = CreateObject("WScript.Shell")
    oShell.SendKeys "% n"
    
  • 要恢复活动窗口,请使用 Alt + SpaceBar r

    Set oShell = CreateObject("WScript.Shell")
    oShell.SendKeys "% r"
    

(请注意,此代码不适用于非英语Windows版本,其中Maximize / Minimize / Restore命令的名称已本地化,因此具有其他快捷方式。)

答案 1 :(得分:2)

SendKeys无法在我的计算机上工作。西班牙语为母语,西班牙语和英语为键盘。我做到了这一点,并在我的代码中作为指示进行工作,并努力使我的excel窗口最大化。我将.Sleep放在外观上进行了检查。

objExcel.SendKeys"% x"
objExcel.Visible = True
objExcel.SendKeys"% x"

WScript.Sleep 2000

答案 2 :(得分:0)

要最大化任何窗口,以下代码将起作用:

Application.SendKeys "%{ }"
Application.Wait (Now + TimeValue("00:00:02"))
Application.SendKeys "x"

答案 3 :(得分:0)

主题过旧。但是我设法找到了独立于语言的解决方案。 SendKeys 基本上可以将任何键发送到应用程序,包括箭头键和Enter键。因此,我们可以模拟那些没有特定字母(x,r,n)的动作。这是工作示例:

Dim oShell : Set oShell = CreateObject("WScript.Shell")
oShell.SendKeys("% {DOWN}{DOWN}{DOWN}{DOWN}{ENTER}")   'Maximize
'...
oShell.SendKeys("% {ENTER}")   'Restore
'...
oShell.SendKeys("% {DOWN}{DOWN}{DOWN}{ENTER}")   'Minimize

答案 4 :(得分:0)

这适用于我的 Excel 宏,通过执行快捷键“Alt+Spacebar+x”来最大化外部 PDF 文档。

Mote:'%' 代表 Alt 键,'( )' 代表空格键,'x' 代表最大化键。

Application.SendKeys "%+( )+(x)", True