SergejF
Новичок
- Сообщения
- 7
- Репутация
- 0
Уважаемые господа,
Буду искренне вам признателен за помощь в написании алгоритма для нижеследующей задачи. Хочу просить вас не давать конечный работающий скрипт, а помочь в тех моментах, которые вызывают у меня затруднения.
Задача: уменьшить горизонтальные движения мышью при работе с двумя мониторами. Решить её хочу следующим образом: при нажатии колесика мыши программа определяет на каком экране находится курсор мыши и пересылает го на середину другого экрана. Таким образом не совершая мышью длинных горизонтальных перемещений происходит быстрое переключение между приложениями на различных экранах.
Хотелось бы сделать программу универсальной, корректно работающей при разных разрешениях мониторов. Но для перемещения в центр экранов необходимо знать ширину и высоту каждого. Данные основного экрана мы узнаем из значений макро @DesktopWidth, @DesktopHeight. Ширину второго экрана получаем вычитая из ширины рабочего стола ширину первого экрана.
Первый вопрос: как определить высоту второго экрана?
У меня получился следующий скрипт:
Вроде работает.
Для выполнения скрипта по щелку колесиком мыши я хочу использовать функцию HotKeySet:
Но не знаю какой комбинация клавиш key в HotKeySet соответствует клик колесиком мыши.
Второй вопрос: какие key следует указать в HotKeySet, чтобы назначить выполнение пользовательской функции по клику колесика мыши?
Буду искренне вам признателен за помощь в написании алгоритма для нижеследующей задачи. Хочу просить вас не давать конечный работающий скрипт, а помочь в тех моментах, которые вызывают у меня затруднения.
Задача: уменьшить горизонтальные движения мышью при работе с двумя мониторами. Решить её хочу следующим образом: при нажатии колесика мыши программа определяет на каком экране находится курсор мыши и пересылает го на середину другого экрана. Таким образом не совершая мышью длинных горизонтальных перемещений происходит быстрое переключение между приложениями на различных экранах.
Хотелось бы сделать программу универсальной, корректно работающей при разных разрешениях мониторов. Но для перемещения в центр экранов необходимо знать ширину и высоту каждого. Данные основного экрана мы узнаем из значений макро @DesktopWidth, @DesktopHeight. Ширину второго экрана получаем вычитая из ширины рабочего стола ширину первого экрана.
Первый вопрос: как определить высоту второго экрана?
У меня получился следующий скрипт:
Код:
$w1 = @DesktopWidth ; ширина 1-го экрана
$h1 = @DesktopHeight ; высота 1-го экрана
$mas = WinGetPos('Program Manager') ; массив с данными рабочего стола
$w2 = $mas[2] - @DesktopWidth ; ширина 2-го экрана
$h2 = 1080 ; высота 2-го экрана, пока статично.
$pos = MouseGetPos() ; определяем позицию курсора
If $pos[0] < $w1 Then ; если курсор на первом экране
MouseMove($w1+$w2/2, $h2/2, 0) ; переходим на середину второго экрана
Else
MouseMove($w1/2, $h1/2, 0) ; иначе переходим на середину первого экрана
EndIf
Вроде работает.
Для выполнения скрипта по щелку колесиком мыши я хочу использовать функцию HotKeySet:
Код:
HotKeySet(" ", "Skachok")
Func Skachok()
; тут будет скрипт, который выше.
EndFunc
Но не знаю какой комбинация клавиш key в HotKeySet соответствует клик колесиком мыши.
Второй вопрос: какие key следует указать в HotKeySet, чтобы назначить выполнение пользовательской функции по клику колесика мыши?