Skip to content
조회 수 3483 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 비활성화 된 창 활성화 시키기

 

 

To activate an inactive window using Python, you can use the win32gui module from the pywin32 package. Specifically, you can use the SetForegroundWindow() function to activate the window.

Here's an example code snippet that demonstrates how to activate an inactive window with a given title:

 
python
import win32gui
import win32con
 
def activate_window(title):
    hwnd = win32gui.FindWindow(None, title)
    if hwnd == 0:
        return False
    if win32gui.IsIconic(hwnd):
        win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
    win32gui.SetForegroundWindow(hwnd)
    return True
 
# Example usage: activate the window with title 'My Window'
activate_window('Python familiarity confirmed. - Chrome')

In this example code, the activate_window() function takes a title argument that specifies the title of the window to activate. The function first uses win32gui.FindWindow() to get the window handle (hwnd) of the specified window. If the window handle is zero, the function returns False to indicate that the window could not be found. If the window handle is valid, the function uses win32gui.IsIconic() to check if the window is minimized, and if so, uses win32gui.ShowWindow() to restore the window. Finally, the function uses win32gui.SetForegroundWindow() to activate the window and bring it to the foreground.

To use this code in combination with the code from my previous answer to click on a location within an inactive window, you can call the activate_window() function to activate the window before calling pyautogui.click() to click on the specified location. For example:

 
python
 
import win32gui
import win32con
import pyautogui
import numpy as np
from PIL import ImageGrab
import cv2
 
window_name = 'Administrator'
 
# Define the image to search for
search_image = cv2.imread('C:/Python/py_code/automouse/img/control/1.png', cv2.IMREAD_GRAYSCALE)

# Get the handle of the window
hwnd = win32gui.FindWindow(None, window_name)
 
# Activate the window
if hwnd != 0:
    win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
    win32gui.SetForegroundWindow(hwnd)
 
# Get the coordinates of the window
left, top, right, bottom = win32gui.GetWindowRect(hwnd)
 
# Get the dimensions of the window
width = right - left
height = bottom - top
 
# Capture a screenshot of the window
screenshot = ImageGrab.grab(bbox=(left, top, right, bottom))
 
# Convert the screenshot to a numpy array
screenshot_array = np.array(screenshot)
 
# Convert the screenshot to grayscale
gray_screenshot_array = cv2.cvtColor(screenshot_array, cv2.COLOR_BGR2GRAY)
 
# Search for the image within the window
result = cv2.matchTemplate(gray_screenshot_array, search_image, cv2.TM_CCOEFF_NORMED)
 
# Get the coordinates of the image within the window
y, x = np.unravel_index(result.argmax(), result.shape)
match_x, match_y = x + search_image.shape[1] // 2, y + search_image.shape[0] // 2
 
# If the image was found, click on the specified location
if result.max() > 0.8:
    if hwnd != 0:
        win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
        win32gui.SetForegroundWindow(hwnd)
    pyautogui.click(left + match_x, top + match_y)

In

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
37 파이썬 chatGPT file 2023.02.11 4356
36 파이썬 파이썬 pyautogui 화면에 여러개의 동일한 이미지가 있을 때 n번째 이미지 선택하기 2023.02.12 4914
35 파이썬 파이썬 pyautogui 자주쓰는 이미지 서치 def 지정하기 2023.02.12 5212
34 파이썬 파이썬 모듈 업그레이드 명령어 2023.02.21 3565
33 파이썬 파이썬 비활성화 창 이미지 캡쳐하고 클릭하기 2023.02.24 3888
32 파이썬 파이썬으로 비활성화 된 창의 이미지를 캡쳐하는 방법 2023.02.25 3896
» 파이썬 파이썬 비활성화 된 창 활성화 시키기 2023.02.25 3483
30 파이썬 python class def 2023.03.04 2307
29 파이썬 파이썬 변수가 정의되었는지 여부 확인방법코드 2023.03.04 3785
28 [Docs]스프레드시트 스프레드시트에서 삽입 버튼 만들기(chatGPT 에게 물어봄) 2023.03.09 1398
27 [Docs]스프레드시트 스프레드시트에서 검색 버튼 만들기 2023.03.09 2019
26 [Docs]스프레드시트 스프레드시트에서 수정, 삭제 버튼 만들기 2023.03.09 1692
25 [Docs]스프레드시트 스프레드시트의 값의 변화에 따라 지메일로 메일을 보내는 스크립트 2023.03.10 1623
24 [Docs]스프레드시트 구글 스프레드시트 스크립트를 사용하여 지메일로 이메일을 보내기 2023.03.10 2640
23 [Docs]스프레드시트 H열에 날짜가 10일 안으로 다가왔다면 메일을 발송하는 스크립트 2023.03.10 2190
22 파이썬 네이버 주식에서 종목의 투자정보 자료 가져오기 1 2023.03.10 2198
21 파이썬 네이버 주식의 기업정보와 펀더멘탈정보 소스 가져오기 2023.03.10 3343
20 파이썬 웹 페이지에서 동적으로 생성되는 데이터 가져오는 방법 2023.03.15 6866
19 컴퓨터잡담 녹화기 Play Mode file 2023.03.17 6737
18 [Docs]스프레드시트 구글 스프레드시트에서 O열=입금완료 가 있는 행은 행 전체가 노란색으로 변하게 하기 2023.03.24 10046
Board Pagination Prev 1 ... 42 43 44 45 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소