Я хочу создать несколько подсказок, которые самосвалы информации о окне на основе MouseGetPos
:Toggling упорной подсказки
^Space
= Контекстный будет включаться и выключаться, и следую за мышью^+Space
= всплывающую подсказку появляется временно, а затем исчезает^!+Space
= Контекстное переключается и появляется в нижнем левом углу экрана
Однако всплывающая подсказка не исчезает для 1 & 2. 3 Дает ошибку «действие не определено».
Вот мой текущий код:
#CommentFlag //
Toggle := False
^Space:: // Toggle the tooltip and follow the mouse
If (Toggle = False) {
Toggle := True
#Persistent
SetTimer, WatchCursor // If I have just 'WatchCursor', without '#Persistent' and 'SetTimer', I get an "Action not defined" error
} Else If (Toggle = True) {
Toggle := False
ToolTip
}
Return
^+Space:: // Tooltip follows mouse, but disappears after 1 second
#Persistent
SetTimer, WatchCursor, 1000
Return
^!+Space:: // Tooltip appears at 1511, 3010
#Persistent
WatchCursor2 // Error: This line does not contain a recognized action
Return
WatchCursor:
MouseGetPos, x, y, id, control
WinGetTitle, title, ahk_id %id%
WinGetClass, class, ahk_id %id%
ToolTip, -- Window Info --`n`tahk_id:`t%id%`n`tahk_class:`t%class%`n`tTitle:`t%title%`n`tControl:`t%control%`n`n-- Mouse Pos --`n`tX:`t%x%`n`tY:`t%y%
WatchCursor2:
MouseGetPos, x, y, id, control
WinGetTitle, title, ahk_id %id%
WinGetClass, class, ahk_id %id%
ToolTip, -- Window Info --`n`tahk_id:`t%id%`n`tahk_class:`t%class%`n`tTitle:`t%title%`n`tControl:`t%control%`n`n-- Mouse Pos --`n`tX:`t%x%`n`tY:`t%y%,1511,3010
Чтобы перейти на ярлык, вам нужно «перейти». – wOxxOm
Теперь я понимаю, что могу получить большую часть этой информации с помощью Window Spy в редакторе сценариев [SciTE4AutoHotKey] (http://fincs.ahk4.net/scite4ahk/). Тем не менее, я все равно хотел бы понять, как переключать постоянную всплывающую подсказку. –
Я думаю, что @wOxxOm означает [GoSub] (https://autohotkey.com/docs/commands/Gosub.htm) для вызова метки/подпрограммы один раз. Это решит проблему неопределенного действия. Кроме того, каждая подпрограмма должна быть завершена с помощью 'return'. В вашем коде каждый вызов 'WatchCursor' впоследствии вызывает' WatchCursor2' из-за отсутствия возврата. Я не думаю, что это то, что ты хочешь. – MCL