Skip to content
조회 수 4053 추천 수 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
번호 분류 제목 날짜 조회 수
158 컴퓨터잡담 로블록스 스튜디오 파트속성 2021.09.28 3099
157 파이썬 파이썬 팍스넷 추천종목 특정페이지 크롤링 2021.09.23 3488
156 파이썬 Python 메타블로그 글쓰기(제로보드, xpressengine blog api) 2021.09.18 3450
155 파이썬 python 에서 구글 캘린더 api 이용하기(server to server) 2021.09.17 3311
154 파이썬 파이썬 openyxl 엑셀파일(xlsx) 저장하기 2021.09.11 2611
153 파이썬 파이썬 오류모음(에러모음) file 2021.09.09 3771
152 컴퓨터잡담 파이썬 JSON으로 받아온 데이터의 Key 값 가져오기 2021.08.27 10961
151 컴퓨터잡담 파이썬 find, select 사용법 2021.07.30 1442
150 HTMLPHPMSQL html testing 2021.07.24 3788
149 컴퓨터잡담 파이썬 엑셀 다루기 - openpyxl 사용법 2021.07.19 4920
148 컴퓨터잡담 파이썬 에러 해결방법 모음 2021.07.19 1550
147 컴퓨터잡담 파이썬 gspread 사용법 file 2021.06.25 11617
146 컴퓨터잡담 파이썬 for문으로 자동변수 생성하기 2021.06.24 3804
145 컴퓨터잡담 파이썬 멀티라벨 소스 줄이기 2021.06.23 1642
144 컴퓨터잡담 농업경영에 이용하지 않는 농지의 처분 의무 2021.06.11 1225
143 컴퓨터잡담 파이썬 웹페이지 기업정보 추출하기 2021.06.02 1826
142 컴퓨터잡담 파이썬 사이트 정보 가져와서 필요한 내용 추출하기 2021.05.31 1781
141 HTMLPHPMSQL 자바스크립트 명령어 2018.01.31 12945
140 [Docs]스프레드시트 스프레드시트 autohotkey html gmail 스마트폰 이용하여 핑로스 즉시 알림받기 file 2018.01.25 10589
139 [Docs]스프레드시트 구글 스프레드시트 ajax POST를 통한 기록 따라해보기 file 2018.01.13 6720
Board Pagination Prev 1 2 3 4 5 ... 9 Next
/ 9

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소