以编程方式访问 Citrix Receiver and Connection Center
Posted
技术标签:
【中文标题】以编程方式访问 Citrix Receiver and Connection Center【英文标题】:Programatically Access the Citrix Receiver and Connection Center 【发布时间】:2015-12-17 11:04:00 【问题描述】:我想为从连接到 Citrix Farm 的瘦客户端运行的应用程序添加一些功能。
只需打开 Citrix 连接中心(通过右键单击 Citrix Receiver,然后单击连接中心来完成),打开“首选项”选项,然后再次关闭连接中心。这解决了我们遇到的一个问题,我想为我们的用户自动执行此操作。
谁能建议一种通过使用 .NET 框架来实现这一目标的方法?非常感谢任何建议。
我正在使用 Citrix 7.6 在 .NET-3.5 框架内工作
【问题讨论】:
你查看开发者论坛developer.citrixonline.com 嗨 C0dingJammer,我有,但似乎只能在服务器端做这种事情,我需要从客户端桌面运行应用程序。此外,API 似乎都面向 Citrix GoToMeeting 或 GoToTraining,我只有一系列 citrix 服务器,用户通过会话连接。我想通过应用程序让用户对他们自己的会话有一定程度的控制,这样支持就不必处理每一个查询 【参考方案1】:我设法用以下方法解决了这个问题:
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 键(这会打开首选项) 关闭两个窗口(集中和首选项)有关调用方法FindWindowByCaption
、SetForegroundWindow
和SendMessage
的详细信息,请参阅pinvoke
【讨论】:
以上是关于以编程方式访问 Citrix Receiver and Connection Center的主要内容,如果未能解决你的问题,请参考以下文章
带有 Citrix Receiver 的 Citrix Simulation API SDK