Windows服务用Python抓取屏幕

2024-05-18 11:05:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python脚本作为Windows服务运行,定期截图。我把它当作一个简单的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

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

^{pr2}$

有什么建议让我的服务成功获得屏幕?或者你有没有其他的办法来抓住屏幕-我现在用的是PIL。在

我的全部代码都在上面: https://github.com/crummy/ambihue


Tags: inpy脚本屏幕windowslibpackagesline