Jul-24-2018, 09:56 AM
(This post was last modified: Jul-24-2018, 09:56 AM by abdulrahmanok.)
No I'm not a C programmer and I found this code is some forums and modified some data.
And Sorry I cant provide full code like this in Python.
I got idea that to get screenshot of minimized window and then search inside captured minimized window About the button i want.
So I tried with this code:
And Sorry I cant provide full code like this in Python.
I got idea that to get screenshot of minimized window and then search inside captured minimized window About the button i want.
So I tried with this code:
import win32gui import win32ui from ctypes import windll from PIL import Image hwnd = win32gui.FindWindow(None, 'Calculator') # Change the line below depending on whether you want the whole window # or just the client area. #left, top, right, bot = win32gui.GetClientRect(hwnd) left, top, right, bot = win32gui.GetWindowRect(hwnd) w = right - left h = bot - top hwndDC = win32gui.GetWindowDC(hwnd) mfcDC = win32ui.CreateDCFromHandle(hwndDC) saveDC = mfcDC.CreateCompatibleDC() saveBitMap = win32ui.CreateBitmap() saveBitMap.CreateCompatibleBitmap(mfcDC, w, h) saveDC.SelectObject(saveBitMap) # Change the line below depending on whether you want the whole window # or just the client area. #result = windll.user32.PrintWindow(hwnd, saveDC.GetSafeHdc(), 1) result = windll.user32.PrintWindow(hwnd, saveDC.GetSafeHdc(), 0) print (result) bmpinfo = saveBitMap.GetInfo() bmpstr = saveBitMap.GetBitmapBits(True) im = Image.frombuffer( 'RGB', (bmpinfo['bmWidth'], bmpinfo['bmHeight']), bmpstr, 'raw', 'BGRX', 0, 1) win32gui.DeleteObject(saveBitMap.GetHandle()) saveDC.DeleteDC() mfcDC.DeleteDC() win32gui.ReleaseDC(hwnd, hwndDC) if result == 1: #PrintWindow Succeeded im.save("test.png")it's successfully capture calculator but win I press (minimize) from Calculator application and try to take screenshot window again it gains only top of calculator window....