C# 通过编程方式访问Citrix接收器和连接中心
我想为一个应用程序添加一些功能,该应用程序是从连接到Citrix服务器场的瘦客户端运行的 所有这些都需要打开Citrix连接中心(右键单击Citrix接收器,然后单击连接中心),打开“首选项”选项,然后再次关闭连接中心。这解决了我们面临的一个问题,我想为我们的用户实现自动化 有谁能建议一种通过使用.NET框架来实现这一点的方法吗?任何建议都将不胜感激C# 通过编程方式访问Citrix接收器和连接中心,c#,.net-3.5,citrix,receiver,xenapp,C#,.net 3.5,Citrix,Receiver,Xenapp,我想为一个应用程序添加一些功能,该应用程序是从连接到Citrix服务器场的瘦客户端运行的 所有这些都需要打开Citrix连接中心(右键单击Citrix接收器,然后单击连接中心),打开“首选项”选项,然后再次关闭连接中心。这解决了我们面临的一个问题,我想为我们的用户实现自动化 有谁能建议一种通过使用.NET框架来实现这一点的方法吗?任何建议都将不胜感激 我使用Citrix 7.6在.NET-3.5框架内工作,我通过以下方法解决了这个问题: Process.Start(@"C:\Program Fi
我使用Citrix 7.6在.NET-3.5框架内工作,我通过以下方法解决了这个问题:
Process.Start(@"C:\Program Files (x86)\Citrix\ICA Client\concentr.exe");
IntPtr windowPtr = FindWindowByCaption(IntPtr.Zero, "Citrix Connection Center");
SetForegroundWindow(windowPtr);
SendKeys.SendWait("{r}");
IntPtr prefWindowPtr = FindWindowByCaption(IntPtr.Zero, "Citrix Receiver - Preferences");
SendMessage(prefWindowPtr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
SendMessage(windowPtr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
其中包括:
- 打开Citrix连接中心(concentr.exe)
- 把窗户放在前面
- 发送R键(这将打开首选项)
- 关闭两个窗口(concentr和preferences)
有关调用的方法的详细信息,请参见
FindWindowByCaption
,setforegroundindow
和SendMessage
您是否查看了开发者论坛Hi C0dingJammer,我有,但似乎只可能在服务器端执行此类操作,我需要在客户端桌面上运行应用程序。此外,API似乎都是面向Citrix GoToMeeting或GoToTraining的,我只是有一系列Citrix服务器,用户通过会话连接。我想让用户通过应用程序对自己的会话进行一定程度的控制,这样支持就不必处理每一个查询