我有基于DirectShow的屏幕捕捉软件。 在内部调用CopyScreenToBitmap功能抓取屏幕。 然后将图片通过ffdshow的压缩。 它工作正常,作为一个桌面应用程序,但作为窗口服务,某些计算机上它不工作(黑画面)。 我设置了“允许服务与桌面交互”,并运行在当前用户帐户的服务。 任何想法可能是错误的?
我测试了在Windows XP中,但预计在Vista和7个正常工作。
是的,它可以作为所有计算机上的桌面应用程序,但他们中的一些(对他们大多数)失败作为一种服务。
我有基于DirectShow的屏幕捕捉软件。 在内部调用CopyScreenToBitmap功能抓取屏幕。 然后将图片通过ffdshow的压缩。 它工作正常,作为一个桌面应用程序,但作为窗口服务,某些计算机上它不工作(黑画面)。 我设置了“允许服务与桌面交互”,并运行在当前用户帐户的服务。 任何想法可能是错误的?
我测试了在Windows XP中,但预计在Vista和7个正常工作。
是的,它可以作为所有计算机上的桌面应用程序,但他们中的一些(对他们大多数)失败作为一种服务。
试试这个,除了允许访问桌面:
然后用得到的一些方法之一桌面的DC,其中包括
的CreateDC(TEXT( “DISPLAY”),NULL,NULL,NULL)
祝好运
据我了解,一个变化是在Vista中提出,移动服务到从控制台用户一个单独的桌面。 虽然你已经打勾框“允许访问”到桌面上,我觉得你还是要务实地切换为您服务,使用该桌面。
这里是一个博客帖子有一些有用的信息和示例 。
你有没有测试的桌面应用程序成功失败作为服务相同的计算机上?