IT/Python

Python 특정 프로그램 선택, focus, 맨 앞으로 가져오기

Dev. Sean 2024. 1. 28. 19:10
반응형

컴퓨터 작업 중 특정 애플리케이션을 빠르게 찾아 화면의 최전면으로 가져오고 싶을 때가 종종 있습니다.

예를 들어, 여러 프로그램을 동시에 사용하는 경우, 필요한 순간에 바로 '카카오톡' 같은 메신저 창을 앞으로 가져와 메시지를 확인하고 싶을 것입니다.

Python과 pywinauto 라이브러리를 사용하면 이런 작업을 자동화할 수 있습니다.

오늘은 Python을 이용해 특정 윈도우를 화면 최전면으로 가져오는 스크립트에 대해 알아보겠습니다.

필요한 라이브러리: pywinauto

pywinauto는 Windows GUI 자동화를 위한 뛰어난 Python 라이브러리입니다.

이 라이브러리를 사용하면 애플리케이션의 윈도우를 조작하고, 키보드 및 마우스 이벤트를 시뮬레이션할 수 있습니다.

우선 pywinauto를 설치해야 합니다.

pip install pywinauto

 

윈도우 최전면으로 가져오는 함수

아래는 특정 윈도우 타이틀을 가진 애플리케이션을 찾아 화면의 최전면으로 가져오는 함수입니다.

이 함수는 애플리케이션의 타이틀 이름을 인자로 받아 해당 윈도우를 활성화합니다.

 

from pywinauto.application import Application

def bring_to_front(window_title):
    app = Application().connect(title=window_title, found_index=0)
    main_window = app.window(title=window_title)
    main_window.set_focus()

 

사용 예

commonUtil.bring_to_front('카카오톡')

 

이 예제에서는 bring_to_front 함수를 commonUtil 모듈에 포함시킨 후, '카카오톡' 윈도우를 최전면으로 가져오는 방법을 보여줍니다.

이 방법을 사용하면 작업 중에 다른 애플리케이션으로 빠르게 전환할 필요가 있을 때 유용하게 활용할 수 있습니다.

 

 

64비트 Python 환경에서 Pywinauto 사용 시 경고 메시지에 대한 처리

64비트 Python 환경에서 Pywinauto 라이브러리를 사용할 때 발생하는 경고 메시지에 대해 이슈가 보고되었습니다.

하지만 제가 만드려는 프로그램은 PySide6로 제작중이었으며,  PySide6를 사용하는 경우 64비트 Python이 필요하며, 이로 인해 64비트 Python 환경에서 Pywinauto를 사용할 수밖에 없습니다.

경고 메시지가 표시되긴 하지만, 실제로는 스크립트 작동에 문제가 없어서 64비트 Python을 계속 사용 중입니다. 

반응형

'IT > Python' 카테고리의 다른 글

PyQt 파일첨부, 파일 열기, FileDialog 기능 구현하기  (0) 2024.01.28
파이썬 복사 붙여넣기  (0) 2024.01.28