Я пишу макрос, который будет нажимать на определенные места на экране, когда я нажимаю клавишу.
При первом нажатии клавиши все работает нормально.
Однако любое другое нажатие клавиши приводит к ошибке:
time.sleep(0.1)
TypeError: an integer is required
Вот код:
import win32api
import win32con
import time
import pythoncom
import pyHook
import os
def Click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def DeleteRun(event):
Click(1250, 741)
time.sleep(0.1)
Click(649,261)
time.sleep(0.1)
Click(651, 348)
time.sleep(0.1)
Click(800, 442)
time.sleep(0.1)
Click(865, 612)
Click(20,20)
KeyGrabber = pyHook.HookManager()
KeyGrabber.KeyDown = DeleteRun
KeyGrabber.HookKeyboard()
pythoncom.PumpMessages()
Кажется, первый раз, когда DeleteRun
функция запускается pyHook
, time.sleep(
) принимает значения с плавающей точкой.
При любом следующем вызове функции кажется, что он принимает только целые числа.
Что вызывает это?
Я не могу ждать 5 секунд для расположения мыши! Это должно сэкономить время!
Технические характеристики:
- python 2.7.2
- Windows 7 (32)