Я изучаю скриншот и управление мышью в OS X для хобби-проекта.
Я не ищу самый элегантный способ, но мне нужно уметь захватывать экранкаждые полсекунды или около того.
Я обнаружил, что могу использовать инструмент командной строки screencapture
(screencapture -w -W -i ~/Desktop/capture.jpg
), но я беспокоюсь, что он может быть недостаточно быстрым.
Я также ищу способ отправки кликов, установки положения курсора и получения положения курсора.Вроде как то, что обеспечивает win32api: mouse_event
, SetCursorPos
и GetCursorPos
.
Я нашел этот пример кода, который использует библиотеку PyObjC для установки позиции курсора, но он всегда перемещает мою мышь в(0,0) вместо координат я передаю его.
import objc
class ETMouse():
def setMousePosition(self, x, y):
bndl = objc.loadBundle('CoreGraphics', globals(),
'/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(),
[('CGWarpMouseCursorPosition', 'v{CGPoint=ff}')])
CGWarpMouseCursorPosition((x, y))
if __name__ == "__main__":
et = ETMouse()
et.setMousePosition(500, 500)
Редактировать: я запускаю Snow Leopard (10.6), если это важно.
Спасибо!