2013-06-19 64 views
0

我尝试了很多在运行RDC Windows应用程序的地方,我尝试捕获细节。如何运行RDC Windows应用程序

像---->连接Myremotedesktop ---->运行在RDC的Windows应用程序,并输入值,以获得细节(例如,如果我进入rollnumber详细地址会) ---->捕获相关内容并将其存储在本地桌面上。

有什么办法可以使用c#代码自动化这个过程吗?

我可以连接远程桌面。 我试过UIAutomation和下面的代码为本地桌面做工精细:

System.Threading.Thread.Sleep(500); 
      AutomationElement rootElement = AutomationElement.RootElement; 
      Condition appCondition = new PropertyCondition(AutomationElement.NameProperty, "Untitled - Notepad"); 
      Condition documentCondition = new PropertyCondition(AutomationElement.LocalizedControlTypeProperty, "document"); 
      AutomationElement documentElement = rootElement.FindFirst(TreeScope.Subtree, documentCondition); 
      documentElement.SetFocus(); 
      SendKeys.SendWait("This is a test of the emergency broadcast system.") 

如何做remotedesktop同样的事情?

+0

您是否正在控制在服务器上运行的程序,因为您可以对其进行更改吗?有些东西可以在服务器程序中更改以使其侦听数据命令,但是您需要编写程序来执行它。 –

+0

我没有服务器控制... – Vichu

+0

您可以在启动时运行的服务器上启动一个程序(通过启动菜单或通过rdp连接文件指定初始程序)? –

回答

0

由于您的要求,无法在RDP连接的服务器端放置任何软件,就像您想要做的一样,除非您想单击​​的按钮每次都是int,并且您很难编码自动化脚本中移动鼠标的X,Y值。

如果你可以在RDP服务器上运行一些东西,你可以带上你的自动化代码,并编写一个监听器程序,它可以通过Virtual Channels与你的客户端通信,这将允许你通过RDP连接向你的监听器传递消息,执行自动化任务服务器端。

0

你可以强制客户端是Windows 8吗?我相信UI自动化请求会通过Windows 8上的RDC连接“隧道化”。

相关问题