gpt4 book ai didi

c++ - 如何将 Windows 服务连接到控制台 session

转载 作者:行者123 更新时间:2023-11-28 08:24:57 25 4
gpt4 key购买 nike

我一直在开发一个作为 Windows 服务运行的远程桌面应用程序,我想知道如何将应用程序连接到特定 session ,并允许它以位图形式检索用户桌面,设置光标位置,将鼠标点击和键盘输入发送到控制台 session 。

最佳答案

您需要使用 SetThreadDesktop()将服务中线程的上下文更改为用户的桌面。

  • SetThreadDesktop() 将桌面句柄作为第一个参数;要获取该句柄,请使用 EnumDesktops() .
  • EnumDesktops() 将窗口站的句柄作为第一个参数;要获取该句柄,请使用 EnumWindowStations()

要了解 Window Stations 和 Desktops 发生了什么,请尝试阅读 this overview来自MSDN。

最后,请谨慎使用此技术。与用户桌面交互的更高权限进程(即服务)是 shatter attacks 的基础.

关于c++ - 如何将 Windows 服务连接到控制台 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com