- PyWin32 - Win32 API 사용을 위한 파이썬 확장
- PyWin32 마우스 컨트롤하기
- PyWin32 화면 정보 얻기
- PyWin32 시간 정보 얻기
- PyWin32 사용자 정보 얻기
- PyWin32 파일 관리하기
- PyWin32 폴더 관리하기
- PyWin32 클립보드 사용하기
- PyWin32 Reference
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
PyWin32 마우스 컨트롤하기¶
PyWin32를 이용해서 마우스 커서의 위치를 찾거나 이동시키고, 클릭, 드래그 등의 동작을 간단하게 수행할 수 있습니다.
마우스 커서 위치 얻기¶
예제 - GetCursorPos()¶
import win32api
pos = win32api.GetCursorPos()
print(pos)
win32api 모듈의 GetCursorPos()은 마우스 커서의 현재 위치를 튜플의 형태((x, y))로 반환합니다.
마우스 커서 이동시키기¶
예제 - SetCursorPos()¶
import win32api
pos = (200, 200)
win32api.SetCursorPos(pos)
SetCursorPos() 메서드는 마우스 커서의 위치를 입력받은 튜플의 위치((x, y))로 이동시킵니다.
마우스 클릭하기¶
예제 - mouse_event(), mouse_click()¶
import win32api
import win32con
def mouse_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)
mouse_click(300, 300)
win32con은 Win32 API와 관련된 다양한 상수들을 모아놓은 모듈입니다.
mouse_click(x, y) 함수를 하나 만들었습니다. 우선 SetCursorPos((x, y))를 이용해서 커서의 위치를 (x, y)의 위치로 이동합니다.
mouse_event()의 첫번째 파라미터에는 마우스의 동작과 클릭에 대한 상수를 넣어줍니다. ‘win32con.MOUSEEVENTF_LEFTDOWN’을 입력해주면 왼쪽 버튼이 눌러지게 되고, ‘win32con.MOUSEEVENTF_LEFTUP’을 입력해주면 눌려진 상태가 해제됩니다.
두번째, 세번째 파라미터에는 마우스 이벤트가 수행될 x, y 위치를 입력합니다. 세, 네번째 파라미터는 우선 0으로 합니다.
mouse_event() 함수에 대한 자세한 내용은 다음의 링크에서 참고할 수 있습니다. (mouse_event 함수)
결과적으로 mouse_click(300, 300)을 통해 (x, y) = (300, 300)의 위치로 마우스 커서를 이동시켜서 왼쪽 버튼을 한 번 클릭합니다.
마우스 커서 영역 제한하기¶
예제 - ClipCursor()¶
import win32api
# (left, top, right, bottom) 영역으로 마우스 커서 제한하기
win32api.ClipCursor((200, 200, 700, 700))
# 마우스 커서 제한 해제하기
# win32api.ClipCursor((0, 0, 0, 0))
# win32api.ClipCursor()
ClipCursor()는 마우스 커서의 위치를 직사각형 영역으로 제한합니다.
(left, top, right, bottom) 값을 튜플의 형태로 입력해줍니다.
영역의 제한을 해제하고 싶으면 (0, 0, 0, 0)을 입력하거나 빈 상태로 두면 됩니다.