如何将 AxMSRDPClient 控件配置为使用影子会话

本文关键字:影子 会话 配置 AxMSRDPClient 控件 | 更新日期: 2023-09-27 18:35:44

我有一个项目正在做,它为mstsclib.dll添加了一层跟踪和报告。一个新的要求是允许影子会话,以便我们的 IT 人员可以连接到虚拟机并观察其他人的工作,以便我们可以对他们正在做的事情进行故障排除,而无需与他们一起在房间里。我已经浏览了所有高级设置,找不到任何看起来会有所帮助的内容。唯一看起来远程相关的是

rdpClient.AdvancedSettings7.ConnectToAdministerServer = true

但这只连接到控制台会话,不允许我看到用户在做什么。

我是否缺少某些设置,或者解决方案是否比单个设置更复杂?

这是 rdpClient 的代码

public class AxMSRDPClient : AxMSTSCLib.AxMsRdpClient7
{
    public string _desiredResolution;
    public string _name;
    public int _id;
    public AxMSRDPClient()
        : base()
    {
    }
    protected override void WndProc(ref System.Windows.Forms.Message m)
    {
        //this corrects the Tabbing issue.
        if (m.Msg == 0x0021)
        {
            this.Focus();
        }
        base.WndProc(ref m);
    }
}

几乎所有关于影子会话的研究都只是发现了如何从 mstsc 完成它.exe而不是如何从 dll 完成它。

如何将 AxMSRDPClient 控件配置为使用影子会话

据我所知,没有办法从客户端影子会话。在服务器上,您可以调用 WTSStartRemoteControlSession(或 Cassia 库中的等效项:ITerminalServicesSession.StartRemoteControl)来隐藏会话。