Я хотел бы использовать Win+Alt+<клавиши со стрелками>, чтобы переместить текущее активное окно вокруг. Итак, я придумала скрипт Autohotkey:

WinMoveRelative(rx, ry)
{
    ; Move current window by a relative rx, ry value. rx, ry can be positive or negative
    WinGetPos, x, y, width, height, A
    absx := x + rx
    absy := y + ry
    WinMove, A, , %absx%, %absy%
}
;
g_moveunit := 20
!#Left::  WinMoveRelative(0-%g_moveunit%, 0)  ; DON'T WORK
!#Right:: WinMoveRelative(%g_moveunit%, 0)    ; DON'T WORK
!#Up::    WinMoveRelative(0, -20)     ; works
!#Down::  WinMoveRelative(0, 20)      ; works

Я просто не могу понять, как передать g_moveunit и ее отрицательное значение. Пожалуйста помоги.

Autohotkey v1.1.13.01

1 ответ1

1

Не заключайте g_moveunit в знаки процента (%); это выражение. Практическое правило. При работе с чистыми числами или передаче чего-либо в функцию это выражение.

[Примечание] К вашей другой проблеме, описанной в вашем комментарии:
Прочтите FAQ, соответственно объяснение раздела автозапуска.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .