반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자바연습문제
- SpringFramework
- mariadb
- 불친절한SQL
- 패캠
- java
- Oracle
- 자바
- SQL
- MySQL
- 국비지원
- oauth
- 패스트캠퍼스
- 남궁성
- 기초쿼리
- 스프링
- 자바의정석
- devcamp
- 자바문제
- 클린빌드
- 소셜로그인
- cleanbuild
- 자바기초
- 인프런
- 쿼리
- 오라클
- ApplicationContext
- Spring
- 스프링의정석
- RDBMS
Archives
- Today
- Total
Darren's Devlog
Python - pywin32 활용하여 비활성 클릭 구현하기 ft.매크로 본문
반응형
네이버 블로그에서 티스토리로 이전하는 중입니다.
https://blog.naver.com/darren_gwon/222639582707
안녕하세요.
이번 포스팅에서는 파이썬으로 비활성 매크로를 위한 비활성 클릭을 하는 주제를 다뤄보려고합니다.
비활성 클릭이란, 특정 창이 다른 창에 가려져 있어도 클릭을 해주는 기능입니다.
매크로를 작동시키면서 다른 작업을 하는데 아주 유용한 기능이죠.
비활성 매크로는 매크로 제작에 있어 거의 필수라 보시면 되겠습니다.
필요 API
pip install pywin32
PyWin32는 윈도우에서 제공하는 Win32 API를 파이썬에서 사용할 수 있게 해주는 확장자입니다.
코드
import win32api, win32gui, win32con, win32ui
hWnd = win32gui.FindWindow(None, "창 이름")
def click1(x, y):
lParam = win32api.MAKELONG(x, y)
win = win32ui.CreateWindowFromHandle(hWnd)
win.PostMessage(win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam)
win.PostMessage(win32con.WM_LBUTTONUP, None, lParam)
def click2(x, y):
lParam = win32api.MAKELONG(x, y)
hWnd1 = win32gui.FindWindowEx(hWnd, None, None, None)
win32gui.PostMessage(hWnd1, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam)
win32gui.PostMessage(hWnd1, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, lParam)
시행착오 끝에 찾아낸 2개의 비활성화 클릭 코드를 공유합니다.
2개 함수 중에 작동하는 코드를 사용하시면 됩니다.
Nox같은 경우엔 click1함수만 작동을 하고 click2는 작동을 안합니다.
반대로 그림판, 화상 키보드는 click2 함수만 작동을 합니다.
혹시라도 click1과 click2 모두 작동을 안한다면 관리자 권한으로 실행시켜주세요.
작업할 윈도우 창의 이름은 Spy++라는 프로그램을 이용하시면 됩니다.
프로그램을 다운로드 후 실행시켜주세요.
상단에 망원경 아이콘을 클릭해주세요.
Find Tool을 클릭해서 찾으려는 창의 타이틀에 드래그 해주세요.
그 중 최상단 값에 오른쪽 마우스 → Properties 를 클릭해주세요.
Window Caption에 나온 값으로 파이썬 코드를 수정해주면 됩니다.
이렇게 비활성 매크로를 위한 비활성 클릭 예제를 마치겠습니다.
반응형
'Python' 카테고리의 다른 글
Python - Telegram 봇 연동하기 (2) | 2022.09.19 |
---|
Comments