2011-01-26 2 views
0

Я пытаюсь сделать приложение автоматизации, которое в основном отправляет некоторые ключи в текстовое поле в Java-приложении и, если возможно, на основе текста, который находится в текстовом поле. Также я хотел бы выбрать определенную опцию для combobox. Может ли кто-нибудь направить меня на правильный путь? некоторый код, пример, ничего ...отправка ключей в текстовое поле приложения Java с C#

спасибо, денис

+0

Вы смотрели AutoHotKey? – Crisfole

ответ

1

Во-первых, java.awt.Robot позволяет эмулировать события клавиатуры и мыши. К сожалению, он работает в абсолютных координатах экрана. Прямо сейчас у java нет API, который позволяет получать доступ к окнам за пределами текущего приложения.

Но если вы можете найти абсолютное расположение текстового окна, в котором вы хотите написать «привет, мир», вы можете сделать это с помощью робота.

Если вы не можете получить абсолютные координаты, вы должны использовать другие инструменты, такие как JNI или JNA. Пожалуйста, обратитесь к следующей пост для деталей: Windows: how to get a list of all visible windows?

Хорошо luck1

+0

hi alexr, спасибо за информацию, но я искал код на C#, у меня есть приложение на C#, которое я хочу отправить в приложение Java. Чтобы быть более ясным, у меня есть C# приложение (СЭП), из которого я хочу отправить ключи к основе Java приложения, когда определенный текст записывается в текстовом поле приложение Java ... спасибо, денис – denisr

1

привет я думаю, что вы ищете что-то вроде этого «winApiHelper» это класс, сделанное мной, что поможет мне реализовать методы Win API, взять смотрите здесь http://msdn.microsoft.com/en-us/library/ms633539(v=vs.85).aspx

private void SendKeys() 
//String sText , String sWindow 
//alternate you can have a parameters 
{ 
    string stab = "{TAB}"; 
    string skey = rtFilename.Text.Trim(); 
    int iHandle = winApiHelper.FindWindow(null, cboWindows.Text.Trim()); 
    winApiHelper.SetForegroundWindow(iHandle);       
    System.Windows.Forms.SendKeys.Send(skey.Trim() + stab.ToString().Trim()); 
} 
Смежные вопросы