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

时间:2018-07-21 07:17:20

标签: python python-2.7 windows-10 screenshot desktop

我正在使用此代码在while循环中抓取屏幕截图:

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

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

1 个答案:

答案 0 :(得分:0)

我专门为此创建了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,因此请尝试让我知道您的想法。