Skip to content
조회 수 3554 추천 수 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
번호 분류 제목 날짜 조회 수
897 컴퓨터잡담 H734GP 공유기 시스템로그 중 >>> Send Offer / Receive Discover / 2023.06.04 51703
896 WindowsTip VBS) FTP.scriptlet and Shell.scriptlet 2013.09.21 48506
895 파이썬 python AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector' 해결방법 2023.05.07 47574
894 AutoHotKey AHK) 보안프로그램 등으로 화면복사(Printscreen) 안될때 사용방법 1 12 file 2012.11.21 47166
893 프로세스 pinomate.exe 프로세스 삭제방법 6 2011.02.13 45999
892 WindowsTip VBS) PostMessage or SendMessage to external program 2013.09.21 45965
891 컴퓨터잡담 2023-09-23 서버다운 후 복구완료 secret 2023.09.23 45048
890 컴퓨터잡담 [PHP] 원격지의 이미지 사이즈 구하는 방법 2 2009.08.11 44528
889 AutoHotKey Ahk) 웹페이지 감시결과에 따라 마이피플로 글 전송하기 12 file 2013.01.06 44023
888 컴퓨터잡담 emule 서버리스트 2010.11.10 43048
887 Excel Excel Vba) 셀의 행, 열(column, row) 주소 알아내기 또는 삽입하기 더불어 제어하기 2012.01.05 42974
886 AutoHotKey Autohotkey) 화면보호기(ScreenSaver) On/Off 방법 17 2012.03.16 40675
885 [Docs]스프레드시트 구글 스프레드시트에서 셀값이 특정일에서 현재일과 3일 이내의 범위에 들어오면 이메일을 발송하는 방법 2023.03.26 40550
884 Excel GET.CELL 매크로함수 응용 11 2012.07.16 40176
883 컴퓨터잡담 안드로이드 동영상 재생시 파란색 물음표 박스만 나올때 조치방법 2 file 2013.04.26 39285
882 컴퓨터잡담 URL Encoding 특수문자코드 4 2012.03.30 39076
881 컴퓨터잡담 mysql 날짜타입에 기본값으로 현재시간넣기 1 2009.12.07 38588
880 AutoHotKey ahk) 오토핫키 콤보박스 제어하기 file 2013.10.30 38180
879 컴퓨터잡담 테블릿을 세컨트모니터로??? 2023.04.26 38122
878 WindowsTip 네트워크에 있는 다른 시스템과 ip 주소가 충돌합니다. 1 file 2013.03.29 38112
Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소