2014-02-17 1 views
1

Я пишу приложение, которое должно иметь возможность отправлять текст в окно RDP И иметь возможность отправлять текст через приложение Citrix (практически).C# Темы при вставке в удаленное окно

В настоящее время у меня есть успех с помощью функции SendInput с привязкой к DLL. Однако при тестировании возникает несколько проблем. Первый из них вызывает некоторые элементы управления редактирования для инициирования звука «Ding» [Это исправлено]. Вторая более крупная проблема - в Citrix, она иногда отбрасывает буквы.

Я искал лучшую версию и попытался выполнить любую команду Windows, отправить сообщение, отправить сообщение, буфер обмена и отправить ключи. Все они работают исключительно хорошо, когда целевое окно является локальным для машины, однако, когда дескриптор окна зарывается за RDP или Citrix, я не могу что-то выдумать и исчерпал все мои идеи.

Мне было любопытно, если кто-то, возможно, сделал это в RDP или Citrix, чтобы они могли помещать текст из своего текстового поля C# в удаленное управление редактированием окон любыми способами? Отмечу, что я могу заставить буфер обмена передавать свои данные просто отлично, я просто не могу заставить окно RDP/Citrix вставить информацию, заставляющую меня вручную вставлять.

Спасибо,

Крис

ответ

0

Citrix предлагает механизм, называемый Virtual Channels, которые специально разработаны для обмена данными между клиентом и сервером:

Citrix виртуальный канал является двунаправленным ошибка -бесплатное соединение, используемое для обмена обобщенными пакетными данными между хостом Citrix для онлайн-доставки (XenApp или XenDesktop) и онлайн-подключателем Citrix Receiver. Например: звук, графика, сопоставление клиентских дисков и печать - это всего лишь несколько виртуальных каналов, написанных Citrix. Комплект разработки программного обеспечения Citrix Virtual Channel (VCSDK) позволяет разработчикам программного обеспечения записывать как приложения на стороне хоста, так и драйверы на стороне приемника для поддержки дополнительных виртуальных каналов с использованием протокола Citrix ICA. Приложения виртуального канала на стороне хоста выполняются на XenApp или XenDesktop, а часть виртуального канала на стороне клиента работает на локальном устройстве, где находится Citrix Receiver. Этот SDK обеспечивает поддержку для записи новых виртуальных каналов для версий Win32 и Windows CE онлайн-подключаемых модулей для Citrix Receiver. См. Сопроводительную документацию для получения подробной информации о поддерживаемых версиях клиента.

Microsoft предлагает аналогичную Virtual Channel реализацию для RDS: Виртуальные каналы являются расширениями программного обеспечения, которые могут быть использованы для добавления функциональных усовершенствований к приложению служб удаленных рабочих столов. Примеры функциональных усовершенствований могут включать в себя: поддержку специальных типов оборудования, аудио или другие дополнения к основной функциональности, представленной служб удаленных рабочих столов Remote Desktop Protocol (RDP)

+0

Здравствуйте Remko, Я ценю ответ. К сожалению, мы стараемся избегать написания дополнительных приложений, которые должен установить клиент. Наша конкуренция в настоящее время делает это и получает много жалоб на предмет, который мы пытаемся извлечь из этого. Единственный вопрос, который у меня есть в этом ответе, однако, вы чувствуете, что я могу отправить сообщение WM_Paste через виртуальный канал без реализации серверного приложения для канала? – cbfSoftware

Смежные вопросы