首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找到Windows服务的“允许服务与桌面交互”(在服务属性中)被选中

找到Windows服务的“允许服务与桌面交互”(在服务属性中)被选中
EN

Stack Overflow用户
提问于 2011-12-22 20:51:58
回答 2查看 2.8K关注 0票数 0

我在windows服务中使用了Capture Screen,所有的代码在win表单中都能正常工作,但在win服务中返回黑色图片,所以我搜索并找到this,并尝试找到选中的"Allow service to interact with desktop“(在服务属性中),但没有任何具有该名称的属性。对此有什么想法吗?我如何/在哪里可以找到它?我使用的是Windows Server2008、R2、SP1、VS2010和C#4,如果这个版本没有任何属性,我该怎么办?

EN

回答 2

Stack Overflow用户

发布于 2011-12-22 20:54:41

该设置是遗留设置,无法解决您的问题。从Vista开始,您的服务不能访问交互式桌面,您需要从交互式桌面上运行的标准应用程序执行屏幕捕获。

您可以使用IPC机制在您的服务和桌面应用程序之间进行通信。你可以从一个服务启动这个桌面应用,但这是相当棘手的,正如here所解释的那样。

选中“允许服务与桌面交互”只是意味着您可以毫无错误地调用交互式API函数。您无法访问非活动桌面。这个问题都源于Vista中引入的更改,这些更改意味着服务在一个独立的会话中运行,即会话0。

票数 2
EN

Stack Overflow用户

发布于 2011-12-22 20:54:36

要设置此属性,您必须打开windows服务管理,右键单击您的服务并打开属性。之后,选择“登录”选项卡。当您的服务在本地系统下运行时,您可以选择“允许服务与桌面交互”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8604127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档