Autohotkey - Как Blockinput, MouseMove блокирует перемещение курсора из моего стилуса wacom (планшета)
У меня есть скрипт AHK, который перемещает панель из ArtRage, я использую blockinput, mousemove
до щелчка и перетаскивания, поэтому мышь не может перемещать курсор, пока AHK выполняет щелчок и перетаскивание, но поскольку я использую этот скрипт в ArtRage, мой планшет может мешать нажатию и перетаскиванию, несмотря на то, что я использовал blockinput, mousemove
следовательно, панель, которую я хотел перетащить, оказалась в другой другой позиции. Есть ли способ временно заблокировать вход с моего планшета Wacom? так что положение стилусов не могло не помешать моему сценарию AHK?
Может ли AHKHID помочь мне в этом вопросе, я увидел, что это очень сложный код. У кого-нибудь есть знания по этому вопросу?
1 ответ
использование WinGet,List
чтобы получить список всех окон панели с соответствующим идентификатором класса.
Перебрать список. В файлах справки есть пример кода, который в основном уже делает это, просто используйте соответствующий WinTitle для поиска с желаемым ahk_class
идентификатор.
Внутри цикла используйте WinGetPos
чтобы получить размер и положение каждого окна.
Сделайте сравнение каждой позиции окна с тем, где вы знаете, что окно расположено ... то есть, где вы бы щелкнули, если бы собирались щелкнуть по нему для перетаскивания.
Найдя подходящее окно, вы можете разорвать цикл и использовать это окно в качестве аргумента для WinMove
перемещать окно программно.
Это не прямой ответ на вопрос (как было задано), но он будет более надежным, быстрым и менее неуклюжим, даже если вы поймете, как заблокировать ввод стилуса.