我目前正在开发一个python程序,该程序可以一次远程控制多台计算机,就像它们是一台计算机的多个屏幕一样。
该程序的功能之一是控制所有计算机的服务器从屏幕上构建地图,包括其自身的服务器屏幕。 但是,当服务器控制自己的屏幕时,递归效果就会开始,因为它将获取屏幕上显示的屏幕快照的屏幕快照,依此类推。
这是我使用(带PIL)的屏幕截图的大致代码
def capture_screen(self):
screen_contents = ImageGrab.grab()
size = win_width, win_height
screen_contents = screen_contents.resize(size, Image.ANTIALIAS)
screen_image = ImageTk.PhotoImage(screen_contents)
self.screen_displayer.config(image = screen_image)
self.screen_displayer.image = screen_image
self.screen_displayer.grid(row = 0, column = 0)
#update display
self.master.after(200, self.capture_screen)
问题图片:
是否有一种方法可以使我的屏幕截图忽略活动的正面窗口,并拍摄除该窗口之外的所有内容?
p.s-我找到了关于此主题的讨论,但找不到针对python的可靠解决方案。 链接-Screen capture without active window
如果有人可以帮助,将不胜感激。