我有一个作为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