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
번호 분류 제목 날짜 조회 수
2304 연예정보 허영란 결혼 동갑내기 연극배우와 5월의 신부 file 2016.04.21 6992
2303 주식 향후 눈여겨 봐야 할 10종목 1 2010.05.04 4300
2302 회로도전자부품 햇빛은 비타민 D를 어떻게 만들까? 2019.04.18 6012
2301 연예정보 해피투게더 양익준 똥파리 다시 주목 file 2016.05.20 12638
2300 주식 해외주식 재무제표 2014.10.27 3681
2299 주식 해외주식 양도소득세 2016.01.21 2131
2298 주식 해외주식 고배당주 file 2014.10.27 3320
2297 컴퓨터잡담 해외속도테스트 사이트 speedtest.net 2 2012.01.08 5843
2296 유용한상식 해외구매 배송조회 2014.10.28 7133
2295 유용한상식 해외 유머사이트 몇개 추천 2 2010.11.19 12798
Board Pagination Prev 1 ... 3 4 5 6 7 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소