簡體   English   中英

是否可以從本地計算機上的Windows 7服務以編程方式登錄並加載用戶的桌面?

[英]Is it possible to sign in and load a user's desktop programmatically from a windows 7 service on the local machine?

問題:我們正在使用Windows 7計算機在監視器上顯示信息。 這台機器很難拿到並且沒有連接鍵盤或鼠標。 用戶使用遠程桌面登錄到該計算機上然后注銷后,它卡在“按CTRL + ALT + DELETE”屏幕上,我必須將鍵盤和鼠標插入其中,以重新登錄到該用戶帳戶。負責在監視器上顯示正確的信息。

我正在用C ++開發Windows服務,該服務查看當前會話以查看用戶何時登錄和注銷遠程桌面。 我想讓此服務重新登錄到正確的用戶,並在用戶注銷后顯示該用戶的桌面。

現在,我一直在努力尋找一種方法來使服務登錄用戶帳戶並在監視器上顯示其桌面。 反正有這樣做嗎?

不能。您可以模擬用戶,加載用戶的注冊表配置單元並使用該用戶的帳戶啟動進程,但在Vista和更高版本中,不允許交互式服務,因此您無法做任何與用戶桌面進行交互的操作。 您可以做的是通過TCP,命名管道和其他方式在服務進程和運行中的用戶進程之間進行IPC(進程間通信),但前提是該用戶已經使用桌面登錄。 您無法啟動用戶桌面會話。

更多信息: https : //stackoverflow.com/search?q=%22windows+7%22+interactive+service

至於如何解決沒有鍵盤發出Ctrl-Alt-Delete的問題(即使這並不是您真正提出的問題),您可以使用屏幕鍵盤,具體取決於UAC設置。

順便說一句,這根本不是C ++特有的問題。 您可以將整個Windows API與常規舊C一起使用。

暫無
暫無

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

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