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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

파이썬으로 비활성화 된 창의 이미지를 캡쳐하는 방법

 

 

 

Python으로 비활성화된 창 이미지를 캡처하려면

 

pywin32 패키지의

win32gui 및 win32ui 모듈을 사용할 수 있습니다.

 

다음은 캡처 방법을 보여주는 코드 스니펫의 예입니다.

Capturing an image of a disabled window with Python can be accomplished by using the win32gui and win32ui modules from the pywin32 package. Here's an example code snippet that demonstrates how to capture a screenshot of a disabled window:

 
python
import win32gui
import win32ui
import win32con
 
# Get the handle of the disabled window
hwnd = win32gui.FindWindow(None, "Window Title")
win32gui.EnableWindow(hwnd, False)
 
# Get the dimensions of the window
left, top, right, bottom = win32gui.GetWindowRect(hwnd)
width = right - left
height = bottom - top
 
# Create a device context for the window
hwnd_dc = win32gui.GetWindowDC(hwnd)
mfc_dc = win32ui.CreateDCFromHandle(hwnd_dc)
save_dc = mfc_dc.CreateCompatibleDC()
 
# Create a bitmap to store the screenshot
bitmap = win32ui.CreateBitmap()
bitmap.CreateCompatibleBitmap(mfc_dc, width, height)
save_dc.SelectObject(bitmap)
 
# Copy the pixels from the window to the bitmap
save_dc.BitBlt((0, 0), (width, height), mfc_dc, (0, 0), win32con.SRCCOPY)
 
# Save the screenshot as a file
bitmap.SaveBitmapFile(save_dc, "screenshot.bmp")
 
# Clean up
win32gui.DeleteObject(bitmap.GetHandle())
save_dc.DeleteDC()
mfc_dc.DeleteDC()
win32gui.ReleaseDC(hwnd, hwnd_dc)

In this code, we first obtain the handle of the disabled window using FindWindow().
We then disable the window using EnableWindow() to ensure that its contents do not change while we are taking the screenshot.
We get the dimensions of the window using GetWindowRect(), and create a device context for the window using GetWindowDC(). We create a compatible device context using CreateDCFromHandle(), and a compatible bitmap using CreateCompatibleBitmap().

We then select the bitmap into the device context using SelectObject(), and copy the pixels from the window to the bitmap using BitBlt().
Finally, we save the bitmap as a file using SaveBitmapFile(), and clean up the device contexts and handles.

 

이 코드에서는 먼저 FindWindWind()를 사용하여 비활성화된 창의 핸들을 얻습니다.
그런 다음 EnableWindow()를 사용하여 스크린샷을 촬영하는 동안 내용이 변경되지 않도록 창을 비활성화합니다.


GetWindowRect()를 사용하여 창의 치수를 구하고 GetWindowDC()를 사용하여 창에 대한 장치 컨텍스트를 만듭니다. CreateDCFromHandle()을 사용하여 호환되는 장치 컨텍스트를 만들고 CreateCompatibleBitmap()을 사용하여 호환되는 비트맵을 만듭니다.

그런 다음 SelectObject()를 사용하여 비트맵을 장치 컨텍스트로 선택하고 BitBlt()를 사용하여 창에서 비트맵으로 픽셀을 복사합니다.


마지막으로 SaveBitmapFile()을 사용하여 비트맵을 파일로 저장하고 장치 컨텍스트와 핸들을 정리합니다.

 

 

#chatGPT

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

?

List of Articles
번호 분류 제목 날짜 조회 수
36 파이썬 파이썬 비활성화 된 창 활성화 시키기 2023.02.25 3550
35 파이썬 파이썬 키움openAPI 원하는 종목리스트 10호가까지 피라미드 매수주문하기 2021.09.16 3568
34 파이썬 파이썬 모듈 업그레이드 명령어 2023.02.21 3628
33 파이썬 파이썬 웹크롤링 오류 대처방법(verify=False)requests.exceptions.SSLError: 2021.09.16 3638
32 파이썬 파이썬 오류모음(에러모음) file 2021.09.09 3755
31 파이썬 파이썬 음력에서 양력변환 또는 양력에서 음력변환방법 2021.09.22 3793
30 파이썬 키움 증권 API를 이용하여 주식 자동 매매 프로그램 개발 3 2021.09.07 3928
» 파이썬 파이썬으로 비활성화 된 창의 이미지를 캡쳐하는 방법 2023.02.25 3961
28 파이썬 파이썬 비활성화 창 이미지 캡쳐하고 클릭하기 2023.02.24 3978
27 파이썬 파이썬 변수가 정의되었는지 여부 확인방법코드 2023.03.04 3982
26 파이썬 파이썬 키움증권 OPEN API 매수/매도/정정/취소 주문방법 2021.09.05 4036
25 파이썬 파이썬 ModuleNotFoundError: No module named 'pip' 갑자기 나타난 오류! 2022.02.13 4107
24 파이썬 pytube 사용방법 2022.01.22 4189
23 파이썬 chatGPT file 2023.02.11 4378
22 파이썬 파이썬 pyautogui 화면에 여러개의 동일한 이미지가 있을 때 n번째 이미지 선택하기 2023.02.12 5002
21 파이썬 파이썬 pyautogui 자주쓰는 이미지 서치 def 지정하기 2023.02.12 5249
20 파이썬 웹 페이지에서 동적으로 생성되는 데이터 가져오는 방법 2023.03.15 6937
19 파이썬 파이썬을 이용하여 매크로 만들기 2023.01.13 9211
18 파이썬 Visual Studio Code 파이썬 인터프리터 경로 변경하기 2022.03.09 9265
17 파이썬 파이썬 googleapiclient 모듈이 설치가 안될때 해결방법 1 2022.03.27 9838
Board Pagination Prev 1 2 3 Next
/ 3

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소