Search code examples
vbscript

How can I maximize, restore, or minimize a window with a vb script?


I need to be able to make separte .vbs files that will (when triggered with a keyboard short-cut) will make the active window maximized, minimized, or restored.

How can I do this without downloading and installing (not allowed here) a separate package.


Solution

  • VBScript and Windows Script Host don't provide intrinsic functions for maximizing/minimizing/restoring a window. Without any third-party tools, your only option is to use SendKeys to simulate keyboard the shortcuts of the corresponding commands in a window's system menu.

    • To maximixe the active window, you can simulate the Alt+SpaceBar, x shortcut:

      Set oShell = CreateObject("WScript.Shell")
      oShell.SendKeys "% x"
      
    • To minimize the active window, use Alt+SpaceBar, n:

      Set oShell = CreateObject("WScript.Shell")
      oShell.SendKeys "% n"
      
    • To restore the active window, use Alt+SpaceBar, r:

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

    (Note that this code won't work in non-English Windows versions, where the names of the Maximize/Minimize/Restore commands are localized and therefore have other shortcuts.)