从第二个桌面抓取屏幕截图



我用这段代码在while循环中抓取屏幕截图:

filename = datetime.today().strftime('%Y%m%d_%H%M%S')
im=ImageGrab.grab()
im.save('saved/'+filename+'.png')

Windows 10可以有更多的台式机,例如我有两个台式机(在任务视图图标下/没有两个监视器,但有两个Windows台式机,这个功能在Win10中出现(。现在我想在第二台桌面上运行我的程序,每隔几秒钟就从第二台台式机上截屏一次。但当我让它在第二个桌面上运行,然后切换到第一个桌面(我通常工作的地方(时,只会抓取第一个桌面的屏幕截图。我应该如何在我的场景中使用它?

我专门为这个用途创建了MSS模块:

# coding: utf-8
from datetime import datetime
from time import sleep
from mss import mss

with mss() as sct:
while 'capturing':
filename = datetime.today().strftime("%Y%m%d_%H%M%S.png")
sct.shot(mon=2, output=filename)
sleep(1)

监视器编号设置在sct.shot(mon=N, ...)中,其中mon是操作系统看到的监视器编号。这意味着显示器2可以是你的1,所以试一下,让我知道你的想法。

最新更新