代码之家  ›  专栏  ›  技术社区  ›  Keng

如何使用vb脚本最大化、还原或最小化窗口?

  •  8
  • Keng  · 技术社区  · 14 年前

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

    我如何才能做到这一点,而不下载和安装(这里不允许)一个单独的包。

    3 回复  |  直到 13 年前
        1
  •  19
  •   aphoria    11 年前

    VBScript和Windows脚本宿主不提供用于最大化/最小化/恢复窗口的内在函数。如果没有任何第三方工具,您唯一的选择就是使用 SendKeys

    • 要最大化活动窗口,可以模拟 中高音 + , 快捷方式:

      Set oShell = CreateObject("WScript.Shell")
      oShell.SendKeys "% x"
      
    • 中高音 + , n :

      Set oShell = CreateObject("WScript.Shell")
      oShell.SendKeys "% n"
      
    • 要恢复活动窗口,请使用 中高音 + 空格键 , r

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

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

        2
  •  2
  •   Kᴏɴsᴛᴀɴᴛɪɴ Sʜɪʟᴏᴠthierryb    7 年前

    SendKeys在我的计算机上不工作。西班牙语母语,带西班牙语和英语键盘。我做了这件事,把我的代码作为指令,并努力使我的excel窗口最大化。我把睡眠放到视觉上检查一下。

    objExcel.SendKeys"% x"
    objExcel.Visible = True
    objExcel.SendKeys"% x"
    
    WScript.Sleep 2000
    
        3
  •  0
  •   Bisweswar Swain    6 年前

    Application.SendKeys "%{ }"
    Application.Wait (Now + TimeValue("00:00:02"))
    Application.SendKeys "x"
    
        4
  •  0
  •   Dmitry Babich    5 年前

    这个话题很古老。但我设法找到了独立于语言的解决方案。 发送密钥

    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