我想编写一个脚本来整理我目前在屏幕上打开的窗口。
例如:将所有浏览器移至监视器1以及其他所有监视器2 例如:在监视器1上制作4个最大化的窗口,每个窗口占据屏幕上相同大小的象限 等。
我认为VBScript对此有好处吗?在Win7环境中我将使用哪些对象?
答案 0 :(得分:3)
这在开箱即用的VBScript中是不可能的,因为它不提供对用于窗口管理的Windows API的访问。
AutoIt似乎是一个更好的工具。查看以下函数和宏:
WinMove
- 移动窗口_WinAPI_GetSystemMetrics
(80)
- 获取监视器数量@DesktopWidth
和@DesktopHeight
- 主要监控像素大小_WinAPI_GetSystemMetrics(78)
和_WinAPI_GetSystemMetrics(79)
- 完整的桌面宽度和高度如果监视器维度不同,您可以使用WMI类Win32_DesktopMonitor
及其ScreenWidth
和ScreenHeigth
属性来获取各个监视器维度。
答案 1 :(得分:1)
我不确定我是否会说VBS对此有好处,我想我更喜欢C ++,因为它涉及Windows API调用,我觉得在C ++中更容易,但这取决于你的技能和VBS可能没问题。
我要查看的API调用{@ 3}}或EnumWindows来查找要移动的窗口,然后FindWindow移动它们。
我认为如果您想将它们移动到辅助监视器,您应该能够将它移动到主监视器之外的位置(如果辅助监视器在左侧扩展,则可能是负位置)例)。 为此,您需要能够找到当前的分辨率以及我认为您可以从WMI类SetWindowPos获得的分辨率。