我想要一个脚本,可以自动为我在 Firefox 上打开的每个新窗口设置一个位置/大小,因为我讨厌当你打开一个新窗口时,它的位置是相对于程序的最后一个窗口的,而不是在与上一个窗口完全相同的位置打开它。
^n::SendInput !a
!a::WinMove, ahk_class MozillaWindowClass,, 10,-10,1350,750
我设置了 Ctrl+N(新窗口快捷键)来发送设置位置/大小的按键,这样它在打开新窗口后立即执行。问题是,一旦我在 AHK 上设置它,Ctrl+N 就不再适用于 Firefox。
我在 AHK 论坛上发布了这个帖子,有一个人写了这段代码
#IfWinActive, ahk_class MozillaWindowClass
~^n::
WinGetActiveTitle, CurrentMozillaWin
WinWaitNotActive, %CurrentMozillaWin%
WinWaitActive, %CurrentMozillaWin%
WinMove,,, 10,-10,1350,750
Return
#IfWinActive
!a::WinMove, ahk_class MozillaWindowClass,, 10,-10,1350,750
但它对我来说不起作用...如果有人能告诉我如何使它与其他程序(如explorer.exe)一起工作,那也将会很棒...
答案1
在新的 autohotkey 文件中,尝试以下代码。如果您需要其他浏览器,只需添加新的组行并使用 google 搜索或 autohotkey 的窗口间谍获取 ahk_class。
如果您的浏览器创建新窗口的速度不够快,您可能需要延长睡眠时间。我使用 IE 和 Firefox 在 Windows 8.1 实例上测试了这个版本。
GroupAdd, Inet, ahk_class IEFrame
GroupAdd, Inet, ahk_class MozillaWindowClass
#IfWinActive ahk_group Inet
~^n::
Sleep 200
WinGetTitle, ActiveWin, A
WinMove, %ActiveWin%,, 10,-10,1350,750
return