【问题标题】:AHK WinMaximize not working properlyAHK WinMaximize 无法正常工作
【发布时间】:2016-11-26 12:27:42
【问题描述】:

我在 AutoHotkey 中编写了一个脚本,该脚本应该放置一个打开到某个监视器的窗口(此设置有 3 个 L 形监视器,在垂直轴上翻转)。窗口被移动到正确的监视器,但由于某种原因,窗口没有最大化。当我单击右上角的最大化图标时,它会正常最大化,但由于某种原因,脚本不会最大化它。我已经使用“WinMaximize”行使其他窗口最大化,但由于某种原因,我无法使这个特定窗口最大化。我的代码如下

WinWait, Alarms
    WinActivate                                         ;Activate Window
    WinGetPos, Xpos, Ypos                               ;Get Window Position
    XPosPlus:=(Xpos + 1920)                             ;Get Monitor 3 X coord
    YPosPlus:=(Ypos - 1080)                             ;Get Monitor 3 Y coord
    WinMove, %XPosPlus%, %YPosPlus%                     ;Move window to monitor 3
    WinMaximize                                        ;Maximize Window
    Send {tab}{tab}{tab}{tab}{tab}{tab}{tab}A{space}    ;Enter A into the proper textbox
    ExitApp                                             ;Close Script

这是自动热键中的错误吗?或者可能有专门与此窗口相关的 Windows 设置?

我尝试过的事情

-循环 WinMaximize 3 或 4 次

-在我执行 WinMove 之前最大化

-最大化窗口,什么都不做

这些都没有真正最大化窗口。

【问题讨论】:

  • 尝试使用 WinMove 而不是 WinMove+WinMaximize 设置所有坐标 (x,y,w,h)。
  • @wOxxOm 我只是尝试用 winmove 调整它的大小,在各种不同的大小下,它不会调整大小。感谢您的建议

标签: windows scripting autohotkey


【解决方案1】:

某些窗口(边框类型)对 WinMax 的响应不佳。它适用于您的主显示器吗?我猜不会 。 . .

哦,好吧,您需要查看WinSet, Style, 0x40000,可能后面还有WinSet, Redraw,您应该查看这些命令的帮助(见下文)以了解重要的限制和解决方法:

WinWait, Alarms
    WinActivate                                         ;Activate Window

    WinSet, Style, 0x40000                              ;Apply sizing border
    WinSet, Reraw                                       ;Redraw window with sizing border

    WinGetPos, Xpos, Ypos                               ;Get Window Position
    XPosPlus:=(Xpos + 1920)                             ;Get Monitor 3 X coord
    YPosPlus:=(Ypos - 1080)                             ;Get Monitor 3 Y coord
    WinMove, %XPosPlus%, %YPosPlus%                     ;Move window to monitor 3
    WinMaximize                                         ;Maximize Window
    Send {tab}{tab}{tab}{tab}{tab}{tab}{tab}A{space}    ;Enter A into the proper textbox
    ExitApp                                             ;Close Script

查看https://autohotkey.com/docs/commands/WinSet.htm

【讨论】:

    【解决方案2】:

    更改边框不起作用并使窗口无法使用。事实证明,每次窗口都会在同一个位置打开,所以我写了一行来点击最大化图标,而不是让它在幕后进行。这使我的脚本工作

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 1970-01-01
      • 2016-09-01
      • 2012-07-11
      • 2018-04-08
      • 2017-04-20
      • 2018-10-02
      • 2016-09-04
      • 2010-10-06
      相关资源
      最近更新 更多