Windows服务在Python中抓取屏幕

时间:2013-04-23 07:35:57

标签: python windows python-imaging-library

我有一个作为Windows服务运行的Python脚本,可以定期截取屏幕截图。我把它作为一个简单的Python脚本工作,但现在我把它变成了一个它不再起作用的服务。我在Windows事件查看器中获得此输出:

The instance's SvcRun() method failed 
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\win32\lib\win32serviceutil.py", line 835, in SvcRun
    self.SvcDoRun()
File "D:\Malcolm\Dropbox\code\ambihue\ambiservice.py", line 58, in SvcDoRun
    r, g, b = ambihue.getAverageScreenColor()
File "D:\Malcolm\Dropbox\code\ambihue\ambihue.py", line 21, in getAverageScreenColor
    screen = ImageGrab.grab()
File "C:\Python27\lib\site-packages\PIL\ImageGrab.py", line 47, in grab
    size, data = grabber()
IOError: screen grab failed 
%2: %3

以下是我获取屏幕的方式:

screen = ImageGrab.grab()

有关让我的服务成功获取屏幕的任何建议吗?或者你有任何替代解决方案来抓住屏幕 - 我现在正在使用PIL。

我的整个代码都在这里: https://github.com/crummy/ambihue

0 个答案:

没有答案