by andymbody » 04 Jan 2024, 23:04
尝试这个。
我不知道您是否想在将鼠标悬停在桌面/任务栏上时避免使用热键,或者是否想在窗口处于活动状态时避免使用热键。所以我把这两个都列出来供大家选择。
您可能还需要将类名称更改为您的语言。
Code: Select all
#Requires autohotkey v2.0
#SingleInstance force
SetTitleMatchMode 2
CoordMode("Mouse", "screen")
!Escape::
{
MouseGetPos(,, &window)
cls := WinGetClass("ahk_id" window)
if (cls="WorkerW" || cls="Shell_TrayWnd" || cls="Progman")
return
if (WinActive("ahk_class WorkerW") || WinActive("ahk_class Shell_TrayWnd") || WinActive("ahk_class Progman"))
return
WinMinimize("A")
}
!`::
{
MouseGetPos(,, &window)
cls := WinGetClass("ahk_id" window)
if (cls="WorkerW" || cls="Shell_TrayWnd" || cls="Progman")
return
if (WinActive("ahk_class WorkerW") || WinActive("ahk_class Shell_TrayWnd") || WinActive("ahk_class Progman"))
return
WinActivate(window)
if WinGetMinMax(window)
WinRestore(window)
else
WinMaximize(window)
}
尝试这个。
我不知道您是否想在将鼠标悬停在桌面/任务栏上时避免使用热键,或者是否想在窗口处于活动状态时避免使用热键。所以我把这两个都列出来供大家选择。
您可能还需要将类名称更改为您的语言。
[code]
#Requires autohotkey v2.0
#SingleInstance force
SetTitleMatchMode 2
CoordMode("Mouse", "screen")
!Escape::
{
MouseGetPos(,, &window)
cls := WinGetClass("ahk_id" window)
if (cls="WorkerW" || cls="Shell_TrayWnd" || cls="Progman")
return
if (WinActive("ahk_class WorkerW") || WinActive("ahk_class Shell_TrayWnd") || WinActive("ahk_class Progman"))
return
WinMinimize("A")
}
!`::
{
MouseGetPos(,, &window)
cls := WinGetClass("ahk_id" window)
if (cls="WorkerW" || cls="Shell_TrayWnd" || cls="Progman")
return
if (WinActive("ahk_class WorkerW") || WinActive("ahk_class Shell_TrayWnd") || WinActive("ahk_class Progman"))
return
WinActivate(window)
if WinGetMinMax(window)
WinRestore(window)
else
WinMaximize(window)
}
[/code]