프로그램을 실행하고 핸들을 구해서 종료하는 기본 패턴입니다.
가장 간단한 프로그램 중 하나인 메모장을 실행하고, 1초 대기하고, 메모장의 핸들을 구하고, 메모장을 강제 종료하는 코드는 다음과 같습니다.
import pyautogui
import win32gui
import win32con
import subprocess
subprocess.Popen('notepad.exe')
pyautogui.sleep(1)
hwnd = win32gui.FindWindow(None, "제목 없음 - Windows 메모장")
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
이제 메모장을 실행하여 메모장편집창의 크기를 구하는 방법은 다음과 같습니다. 각각의 핸들과 자식개체의 핸들을 구해서 크기값을 표시해줍니다.
Edit 개체의 크기를 구하는 방식으로 적용 되었으며 크기를 프린트 하도록 설정 하였습니다.
import pyautogui
import win32gui
import win32con
import subprocess
subprocess.Popen('notepad.exe')
pyautogui.sleep(1)
hwnd = win32gui.FindWindow("Notepad", "제목 없음 - Windows 메모장")
print(hwnd)
old = win32gui.GetWindowText(hwnd)
print(old)
child_class = "Edit"
hwnd_A = win32gui.FindWindowEx(hwnd, 0, child_class, None)
print(hwnd_A)
rect = win32gui.GetWindowRect(hwnd_A)
x = rect[0]
y = rect[1]
w = rect[2] - x
h = rect[3] - y
print("Window %s:" % win32gui.GetWindowText(hwnd_A))
print("\tLocation: (%d, %d)" % (x, y))
print("\t Size: (%d, %d)" % (w, h))
현재 자식개체의 클래스를 기반으로 동작 하도록 설정하였으므로 Mousemove를 통해 현재 값에 대한 정상적인 동작 확인 가능여부를 확인 할 수 있습니다.
'RPA 만들기 - 함수 사용법' 카테고리의 다른 글
[ Python ] XML 편집 / 삭제 / 추가 / 저장 하기 (0) | 2020.12.22 |
---|---|
[ Python ] 이미지 찾기 / 클릭 하기 (0) | 2020.12.13 |
[ Python ] GUI 자동화 - 해상도, 마우스, 핸들 구하기 (0) | 2020.12.13 |
[ Python ] Excel 파일 편집하기(기존 xlsx 파일 편집) (0) | 2020.12.12 |
[ Python ] Excel 파일에 데이터 기록하기(신규 xlsx 파일 생성) (0) | 2020.12.12 |