【问题标题】:How can I maximize, restore, or minimize a window with a vb script?如何使用 vb 脚本最大化、恢复或最小化窗口?
【发布时间】:2011-04-18 23:10:56
【问题描述】:

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

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

【问题讨论】:

    标签: vbscript


    【解决方案1】:

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

    • 要最大化活动窗口,可以模拟Alt+SpaceBarx快捷键:

      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 版本,其中最大化/最小化/恢复命令的名称已本地化,因此具有其他快捷方式。)

    【讨论】:

    【解决方案2】:

    SendKeys 在我的电脑上无法使用。西班牙语母语,带有西班牙语和英语键盘。我这样做了,并在我的代码中作为指令工作,并努力最大化我的 excel 窗口。我把 .Sleep 放在目视检查它。

    objExcel.SendKeys"% x"
    objExcel.Visible = True
    objExcel.SendKeys"% x"
    
    WScript.Sleep 2000
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        话题过时了。但我设法找到了独立于语言的解决方案。 SendKeys 基本上可以向应用程序发送任何键,包括方向键和回车键。所以我们可以在没有特定字母 (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
        

        【讨论】:

        • 对于特定应用,您必须在输入键之前找到箭头的数量。祝你好运!
        【解决方案5】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多