我需要能够制作separte .vbs文件(当用键盘快捷方式触发时)将使活动窗口最大化,最小化或恢复。
如何在不下载和安装(此处不允许)单独包的情况下执行此操作。
答案 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