Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Простая Java программа поверх сложной. |
Автор: Artemij 25.7.2008, 11:39 |
Привет! Насколько реально реализовать программу на Java, которая собирает информацию и автоматически заполняет соответствующие поля в сторонней программе? Некий простой интерфейс с подсказками поверх более сложного. Сторонняя программа не имеет API. Примерный алгоритм: 1) Пользователь заполняет все поля в простом интерфейсе. 2) Информация записывается в TXT файл и одновременно копируется в Windows буфер. 3) Информация из буфера копируется в соответствующие поля в сторонней программе. Желательно свести к минимуму участие пользователя в данном процессе, естественно кроме заполнения полей информацией. Подскажите примерно план реализации? СПАСИБО! |
Автор: Orange 25.7.2008, 12:18 |
Я так понимаю сторонняя программа написана не на Java? Что ей мешает читать информацию из файла? |
Автор: Artemij 25.7.2008, 12:27 | ||
Да, сторонняя программа написана не на Java, не имеет API и не читает информацию из файлов. Более того является клиентом, который собирает информацию и отправляет её на сервер в БД. Речь идёт о Windows Only. Например, Skype. Допустим мне не нравиться интерфейс ввода сообщения, и я хочу написать свой на Java. |
Автор: Orange 25.7.2008, 13:09 | ||
Хм, даже не знаю что тут предложить. Конкретно по вопросам: 2) Информация записывается в TXT файл и одновременно копируется в Windows буфер.
3) Информация из буфера копируется в соответствующие поля в сторонней программе. JNI |
Автор: Orange 25.7.2008, 14:21 | ||
А можно поподробнее об этом? Что тут такого сильно криминального? |
Автор: AntonSaburov 25.7.2008, 14:27 |
Пользователь запомнил какие-то данные в буфере обмена - надо ему было. Потом решил запустить такую славную программу, нажал на кнопочку. У него все хорошо. А теперь он хочет вставить свои данные (которые, как он наивно полагает, все еще в буфере) - и получает полную фигню. Думаешь кто-то захочет пользоваться такой программой ? Это крайне неудобный и неюзабельный подход. Я еще лет 15 назад в этом убедился - пользователь просто в шоке бывает. |
Автор: powerOn 25.7.2008, 15:05 |
Думаю что если программа делает копирование не в тихоря, на например по нажатию кнопки пользователем, то решение нормальное. Так же как и Ctrl+C нажать. Т.е. заполнил поля нажал на кнопку, данные в буфер ушли, переключился на другую прогу, вставил данные из буфера. Все довольны, все под контролем пользователя. Или я что то упустил? ![]() |
Автор: AntonSaburov 25.7.2008, 15:46 |
Ну разве что под контролем пользователя. Хотя я не люблю такое. |
Автор: w1nd 25.7.2008, 16:52 | ||
СтОит делать именно так ![]() |
Автор: Artemij 25.7.2008, 22:57 | ||||
Спасибо за конкретное предложение! |
Автор: Artemij 25.7.2008, 23:13 | ||
А можно подробнее? Примерный сценарий Java программы: 1) Пользователь заполняет все данные в простом интерфейсе ( Java программа ). 2) Данные проверяются, и, если нет ошибок, записываются в TXT файл и копируются в буфер. 3) Пользователь переключается ( открывает окно ) в стороннюю программу и нажимает Ctrl - V, например. 4) Информация из буфера ( или из TXT файла ) копируется в соответствующие поля сторонней программы. Все рады. Для меня сейчас самый БОЛЬШОЙ вопрос, как получить контроль над интерфейсом сторонней программы из вне (из Java программы)? Подскажите подробней как называется Java framework/package и где можно почитать на тему. Почитал о JNI. Не очень понял,то ли это что мне надо или нет. ![]() Ведь всё сходить к переключению между input field с помощью tab/enter/up/down/left/right. Тоесть полная имитация навигации по стороннему приложению пользователем. |