1、首先,新建一个文件hwnd.py,先实现获取窗口列表和对应句柄的函数,如图所示。
2、测试运行这个函数,可以看到列出的句柄和窗体名称如图。稍后我们将对其中圈出的窗口截图。
3、新建一个文件windimg.py,在这里实现根据窗口句柄截图的功能。首先import如图所示(需要安装有pywin32包)。
4、接着,编写如图所示函数,获取窗口图像,并且返回一个Image对象。
5、接着编写测试代码,按照窗口名称获取窗口句柄,然后获取Image并保存到文件,运行如图。
6、然后,再编写一个根据部分名称查找窗口并输出图像的函数,结合前面两个实现的函数。用它对资源管理器截图如图所示。
7、不过要注意的是,这种截图方法用win32+MFC库来实现,并不能对任何窗口截图,有的窗口不是用win32绘制的,比如UWP程序,截图会得到一片空白。