Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从第二个桌面抓取屏幕截图_Python_Python 2.7_Windows 10_Screenshot_Desktop - Fatal编程技术网

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

Python 从第二个桌面抓取屏幕截图,python,python-2.7,windows-10,screenshot,desktop,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)。现在我想在第二个桌面上运行我的程序,每隔几秒钟从第二个桌面上截图一次。但当我在第二个桌面上

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

filename = datetime.today().strftime('%Y%m%d_%H%M%S')
im=ImageGrab.grab()
im.save('saved/'+filename+'.png')
Windows 10可以有更多的桌面,例如,我有两个桌面(在任务视图图标下/没有两个监视器,但有两个Windows桌面,此功能来自Win10)。现在我想在第二个桌面上运行我的程序,每隔几秒钟从第二个桌面上截图一次。但当我在第二个桌面上运行它,然后切换到第一个桌面(我通常在那里工作),然后只抓取第一个桌面的屏幕截图。我应该如何在我的场景中使用它?

我创建了专门用于该用途的模块:

# 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,所以请尝试一下,让我知道您的想法。

尝试改用Desktopmagic。谢谢,但是如何告诉Desktopmagic我需要desktop2?我总是使用桌面1我没有使用两个显示器,在windows 10中只有两个桌面。Hi Tiger-222,我的问题是,在windows 10中我没有第二个显示器,但有第二个桌面(当您单击任务视图图标时,您可以添加新的桌面并在那里放置一些程序)。所以我想从桌面抓取并保存截图,即使我在desktop1中工作。你知道怎么做吗?哦,好的,不清楚。我没有一个答案,但会检查是否可以这样做,并添加到MSS。