2010-12-05 19 views
0

我一直在開發作爲Windows服務運行的遠程桌面應用程序,我想知道如何將應用程序連接到特定會話,並允許它檢索用戶的桌面作爲位圖,設置光標位置,發送鼠標點擊和鍵盤輸入到控制檯會話。如何將Windows服務連接到控制檯會話

回答

1

您需要使用SetThreadDesktop()將服務中線程的上下文更改爲用戶的桌面。

  • SetThreadDesktop()因爲是第一個參數,所以需要桌面句柄;要獲得該處理,請使用EnumDesktops()
  • EnumDesktops()由於它是第一個參數,因此會處理窗口工作站;獲得該句柄,使用EnumWindowStations()

要了解發生了什麼事情與窗口站和臺式機,嘗試從MSDN閱讀this overview

最後,謹慎使用這種技術。與用戶桌面交互的更高特權的進程(即服務)是shatter attacks的基礎。

+0

謝謝!這正是我正在尋找的! – IDWMaster 2010-12-05 19:56:54

相關問題