1

我知道我可以使用远程桌面 ActiveX 控件,但我正在尝试实现基于浏览器的解决方案,就像 browserstack.com 等一样,他们通过使用连接到他们的服务器的 Flash 实现了相同的解决方案,这反过来可能是 rdp 网关。

我看过图书馆 Cassia,https://code.google.com/p/cassia/source/browse/trunk/Samples/SessionInfo/Source/SessionInfo/Program.cs,但我无法理解如何实际抓取调用WTSStartRemoteControlSession方法后屏幕和发送输入。

我想从 ASP.NET MVC Web 应用程序中调用这些方法,该应用程序基本上存储用于自动化 UI 测试的脚本。大多数时候,没有人会打开任何 UI,我们的测试服务器将自动创建 RDP 会话,运行所有内容,然后通过电子邮件发送结果。

仅用于记录测试,程序员将使用 Web UI,该 UI 将纯粹通过 Web 套接字与服务器通信并下载屏幕图像。使用 ActiveX 控件是不可能的,因为我们使用 UI 自动化来捕获文本/UI 元素信息等。

4

2 回答 2

1

Yeah, Cassia and the WTS API won't help you much here, since they're more for administering servers than interacting with individual sessions.

You could try an HTML5 RDP client like Guacamole. It has a JavaScript client API that allows you to send key and mouse events.

于 2014-01-10T00:18:52.457 回答
0

作为替代方案,与 Guacamole 非常相似,您可以尝试Myrtille,它也是开源的,并通过 HTTP 网关使用FreeRDP作为 rdp 客户端。主要区别在于它是在 .NET (C#) 中完成的,因此更适用于 Windows 服务器。

于 2016-04-11T15:39:48.820 回答