Я изучаю очистку экрана и управление мышью в 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), если это важно.
Спасибо!