2013-12-23 31 views
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,它将纯粹通过网络套接字与服务器通信并下载屏幕图像。使用ActiveX控件是不可能的,因为我们使用UI自动化来捕获文本/ UI元素信息等。

回答

1

是的,Cassia和WTS API在这里帮助不大,因为它们更适合管理服务器而不是与交互个别会议。

您可以尝试HTML5 RDP客户端,如Guacamole。它有一个JavaScript客户端API,允许您发送keymouse事件。

+0

谢谢,但2X如何在服务器端创建自己的事件。我需要在服务器端做一些事情。 –

+0

我不确定我是否理解你的问题 - 2X客户端创建什么事件?您可以使用[RDP虚拟频道](http://msdn.microsoft.com/zh-cn/library/aa383509(v = vs.85).aspx)与客户端的服务器进行通信。 –

0

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