最近需要对窗口截图,看到了以下文章:
https://www.cnblogs.com/Evan-fanfan/p/11097850.html
其中有些错误。经过我2天实验,大概搞清楚了3个关键api的用处。注释和代码如下:
# 根据句柄、截图位置和图片路径,对窗口的客户区截图并存到指定位置
# GetDC一类的需要用ReleaseDC释放,CreateDC一类的用DeleteDC释放,DeleteObject则删除一个逻辑笔、画笔、字体、位图、区域或者调色板,
def ClientRect_PrtSc(hwnd, area=None, filename=''):
try:
hwnd = hwnd
if filename == '':
filename = 'C:\\Users\\tadio\\Desktop\\helper\\pics\\targets\\{}.bmp'.format(
hwnd)
hwndDC = win32gui.GetDC(
hwnd) # 获取窗口的设备上下文Device Context。GetWindow