Skip to content
조회 수 4011 추천 수 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
번호 분류 제목 날짜 조회 수
897 AutoHotKey ahk) Send an email 메일발송하기 2018.01.17 9416
896 AutoHotKey AHK) 보안프로그램 등으로 화면복사(Printscreen) 안될때 사용방법 1 12 file 2012.11.21 47167
895 AutoHotKey ahk) 열려진 엑셀창의 값 불러오기 1 2013.10.30 32530
894 AutoHotKey ahk) 오토핫키 콤보박스 제어하기 file 2013.10.30 38181
893 AutoHotKey Ahk) 웹페이지 감시결과에 따라 마이피플로 글 전송하기 12 file 2013.01.06 44024
892 AutoHotKey ahk_l 웹페이지 앞, 뒤페이지 제어 예제소스 및 설명첨부 2011.02.22 17535
891 AutoHotKey ahk_l 과 com 의 이해 2011.02.22 17486
890 AutoHotKey AHK_L 예제소스 1 2011.02.10 17015
889 AutoHotKey ahk_l 웹페이지 파일로 저장한 뒤 불러와 필요한 부분 추출하여 출력하기 2011.02.22 16992
888 컴퓨터잡담 AHK_L) SysListView321 컨트롤 내용 추출하기 2011.10.07 9893
887 AutoHotKey ahk로 만든 파일을 exe로 컴파일 한 후 실행시킬때 변수를 임의 1 1 2011.02.24 15333
886 AutoHotKey AHK에서 가능한 COM 인터넷 익스플로러 및 GUI 브라우저 1 2011.02.11 19502
885 AutoHotKey ahk와 ahk_l 의 웹페이지 로딩완료 체크 비교 3 2011.02.11 20325
884 컴퓨터잡담 ajax의 XMLHttpRequest 객체 1 2010.03.27 7463
883 WindowsTip An error [-5001 : 0x80070002] ha occurred while running the setup 오류 해결방법 file 2013.06.14 21940
882 Server Apache & Mysql 셋팅방법(httpd-mpm.conf / my.ini) 2013.05.13 13707
881 Server APACHE PHP 에러 잡기 1 2016.03.23 9967
880 Server Apache에 대한 mod_proxy 지원 구성 2016.09.06 1801
879 컴퓨터잡담 API Hooking 유저 레벨 루트킷 1 2010.01.21 11623
878 Server APMSETUP7 PHP 업그레이드 2015.06.02 6373
Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소