2

我正在用MSTSCLib编写一个应用程序来控制 4 台装有 Windows 7 或 Windows 2008 Server 的计算机。

这是我的应用程序: 在此处输入图像描述

public AxMSTSCLib.AxMsRdpClient6 rdp;

rdp.Server = txtServer.Text;
rdp.UserName = txtUserName.Text;

IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
secured.ClearTextPassword = txtPassword.Text;

rdp.DesktopHeight = 1024;
rdp.DesktopWidth = 1280;
rdp.Connect();

这 4 台计算机控制 4 台发电机。

我需要通过办公室计算机进行控制并保持会话处于活动状态,以便任何人都可以物理和远程使用这些计算机。我的意思是,如果我远程移动鼠标,物理上在计算机中的人,看到鼠标移动。

我目前的情况是我的应用程序连接到远程机器,但阻止了与另一个人的会话。(会话已被阻止,请按 CTRL + ALT-DEL)

搜索谷歌,我认为我需要的是一种叫做“远程会话影子”的东西。这个对吗?

我怎么能用C#做到这一点?

我在这里找到了一个有趣的信息,可以用 MSTSCLib 完成吗?

4

2 回答 2

3

我会避开 RDP,并使用一些开源解决方案,例如 TightVNC,请看:

http://www.tightvnc.com/licensing.php

VNC 通过设计具有您想要的功能。

于 2011-10-05T11:38:50.677 回答
0

不幸的是,似乎不再可能与 RDP“共享”会话,这很可能是因为许可证共享预防措施。

这意味着不再可能登录“进入正在运行的会话”(用户已经登录)而不注销另一个会话。

这在 XP 中是可能的,但它在 7 中消失了(我猜也是 server 2008)。

您可能想查看 Windows 远程协助,因为这是操作系统内置的唯一可用选项。

除了 VNC,您还可以查看TeamViewer,我听说它非常好用。我不确定是否有可用的 API。

于 2011-10-05T14:59:00.283 回答