0
我一直在開發作爲Windows服務運行的遠程桌面應用程序,我想知道如何將應用程序連接到特定會話,並允許它檢索用戶的桌面作爲位圖,設置光標位置,發送鼠標點擊和鍵盤輸入到控制檯會話。如何將Windows服務連接到控制檯會話
我一直在開發作爲Windows服務運行的遠程桌面應用程序,我想知道如何將應用程序連接到特定會話,並允許它檢索用戶的桌面作爲位圖,設置光標位置,發送鼠標點擊和鍵盤輸入到控制檯會話。如何將Windows服務連接到控制檯會話
您需要使用SetThreadDesktop()
將服務中線程的上下文更改爲用戶的桌面。
SetThreadDesktop()
因爲是第一個參數,所以需要桌面句柄;要獲得該處理,請使用EnumDesktops()
。EnumDesktops()
由於它是第一個參數,因此會處理窗口工作站;獲得該句柄,使用EnumWindowStations()
要了解發生了什麼事情與窗口站和臺式機,嘗試從MSDN閱讀this overview。
最後,謹慎使用這種技術。與用戶桌面交互的更高特權的進程(即服務)是shatter attacks的基礎。
謝謝!這正是我正在尋找的! – IDWMaster 2010-12-05 19:56:54