簡體   English   中英

在Windows服務中選中“允許服務與桌面交互”(在服務屬性中)

[英]Find “Allow service to interact with desktop” checked (in the service properties) of Windows Service

我在Windows服務中使用捕獲屏幕所有代碼在win形式下正常工作但在win服務中返回黑色圖片所以我搜索並找到這個並嘗試查找“允許服務與桌面交互”選中(在服務屬性中)但沒有任何具有該名稱的財產。 有什么想法嗎? 怎么/在哪里可以找到它? 我使用Windows Server 2008 R2 SP1和VS2010以及C#4,如果此版本中沒有任何屬性,我該怎么辦?

該設置是遺留設置,無法解決您的問題。 從Vista開始,您的服務無法訪問交互式桌面,您需要從交互式桌面上運行的標准應用程序執行屏幕捕獲。

您可以使用IPC機制在服務和桌面應用程序之間進行通信。 您可以從服務這個桌面應用程序,但它是相當棘手的事,因為解釋在這里

選中“允許服務與桌面交互”只意味着您可以無錯誤地調用交互式API函數。 您無法訪問inreractive桌面。 這個問題都源於Vista中引入的更改,這意味着服務在隔離會話(會話0)中運行。

要設置此屬性,您必須打開Windows服務管理,右鍵單擊您的服務並打開屬性。 之后選擇“登錄”選項卡。 當您的服務在本地系統下運行時,您可以選擇“允許服務與桌面交互”。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM