2015-04-27 8 views
0

Мне нужно отправить значение входного сигнала (string) в другое приложение, которое работает на Citrix, которая в настоящее время находится на переднем плане (активное окно)удалось отправить строку в приложение, которое запускается на Citrix

Я попытался ниже ссылки

  1. How do I get the title of the current active window using c#?

  2. How to send a string to other application including Microsoft Word

  3. I can't understand how to use SendMessage or PostMessage calls

  4. скопировать и вставить опцию-, но это не сработало

    Send clipboard text or key stroke to current active window

  5. пытался входной имитатор

    SendKeys alternative that works on Citrix

В 5-й вариант, 2-й предложенный ответ, чтобы обновить/изменить приложение Inputsimulator но я добавил пакет nuget в свое приложение. поэтому, как я могу его обновить соответствующим образом.

ниже код с использованием входного сигнала имитатора

string co = "This is a test° This is a test° This is a test° This is a test°This is a test°This is a test°"; 
WindowsInput.InputSimulator cc = new WindowsInput.InputSimulator(); 
cc.Keyboard.TextEntry(co); 

, как я могу отправить строку в Citrix Application?

+0

Каковы были причины отказа каждой попытки? Для 1), т. Е. Что вы вернулись при вызове GetActiveWindowTitle()? –

+0

Я получил название окна, которое активно, но ошибка отправляет значения sendInput, sendMessage, sendKeys и Keyboard.textentry, все они вставляют некоторые случайные числа в активное окно. – prasy

+0

Хорошо, я бы рекомендовал более подробно узнать о ожиданиях, наблюдениях и материалах, которые вы пытались повысить вероятность получения ответов. Во всяком случае, о пакете nuget, который представляет собой другой вопрос и может/должен быть разбит, я просто возьму боль, избавлюсь от установленного пакета nuget ref, выберем источник Inputsimulator, скомпилируем его самостоятельно и добавлю свежую скомпилированную сборку в качестве ссылки на ваш проект, чтобы вы могли проверить и изменить ее правильно. –

ответ

0

У меня была аналогичная проблема в приложении, которое я разрабатывал, и я использовал SendKey Events, чтобы обойти эту проблему, и она работала нормально. Когда я использовал Sendkeys, он никогда не работал должным образом, но когда я использовал события SendKey, он прошел мимо проблемы. Я знаю, что события sendkey используются для отправки кодов, представляющих те вещи, которые не могут понравиться странице, и т. Д., Но я использовал ее для всей отправки текста.

здесь пример C# код для вас, чтобы отправить ключевое событие отправить

// Clicking Button1 causes a message box to appear. 
private void Button1_Click(System.Object sender, System.EventArgs e) 
{ 
    MessageBox.Show("Click here!"); 
} 


// Use the SendKeys.Send method to raise the Button1 click event 
// and display the message box. 
private void Form1_DoubleClick(object sender, System.EventArgs e) 
{ 

    // Send the enter key; since the tab stop of Button1 is 0, this 
    // will trigger the click event. 


    SendKeys.Send("{ENTER}"); 
    // try putting your text in here and see if something like this solves your issue 
} 

Попробуйте идти к этому Reference для дальнейшего понимания событий SendKey, если вы думаете, что может понадобиться и удачи вам