Создание события прокрутки мыши с использованием Python - PullRequest
2 голосов
/ 03 марта 2012

Я нашел это, Управление мышью с помощью Python , вопрос действительно полезен при создании скрипта для перемещения мыши и щелчка мышью с помощью Python. Можно ли также создать событие прокрутки мыши? А как насчет кнопок «вперед» и «назад»?

Ответы [ 3 ]

4 голосов
/ 30 апреля 2013

Только для "поздних" зрителей, вам потребуется изменить 4-й аргумент dwData ... Я думаю, что это будет выглядеть так:

import win32api
from win32con import *

#Scroll one up
win32api.mouse_event(MOUSEEVENTF_WHEEL, x, y, 1, 0)

#Scroll one down
win32api.mouse_event(MOUSEEVENTF_WHEEL, x, y, -1, 0)

#Scroll one to the right
win32api.mouse_event(MOUSEEVENTF_HWHEEL, x, y, 1, 0)

#Scroll one to the left
win32api.mouse_event(MOUSEEVENTF_HWHEEL, x, y, -1, 0)


Дополнительная информация? Документы win-api действительно хороши:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260%28v=vs.85%29.aspx
1 голос
/ 03 февраля 2015

Это гораздо проще сделать с помощью пакета pygame. Вам необходимо убедиться, что в вашей библиотеке python установлен пакет pygame. Чтобы скачать его, нажмите на ссылку:

http://www.pygame.org/download.shtml

Это должно выглядеть примерно так:

import pygame

pygame.init()

def main():
    While true:
        for event in pygame.event.get():
            if event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == 1:
                    print ("You pressed the left mouse button.")

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    pygame.quit()
                    quit()

main()

Когда вы запустите вышеуказанный код, он скажет вам, что вы нажали левую кнопку мыши, когда нажата левая кнопка мыши. Нажмите Esc, чтобы остановить его, когда вы закончите. Этот метод хранит список событий и проверяет их в порядке их возникновения. Если он находит тот, который был нажат, он запускает код, следующий за ним в операторе if, а затем удаляет его из списка.

Чтобы использовать колесо прокрутки, просто замените цифру 1 в строке:

if event.button == 1:

Замените его на 4 для прокрутки вперед и 5 для прокрутки назад.

0 голосов
/ 08 марта 2012

для генерации событий прокрутки, используйте метод mouse_event с MOUSEEVENTF_WHEEL.для других событий, например, кнопки «вперед / назад», это зависит от того, как настроена мышь и какая кнопка ее активирует.см. в документе msdn список возможных значений .

...