Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление java приложеним из Delphi, Бот для клиента oracle на java 
V
    Опции темы
JoKeR13
  Дата 29.5.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Здравствуйте уважаемые, прошу вашей помощи в реализации следующей задачи:
Есть оконное приложение написанное на java (.jar) (клиент для оракловой БД)
В ручную запускаем приложение, логинимся, видим editы, кнопочки и не интересующие элементы интерфейса.
Требуется из приложения delphi  взаимодействовать, (ввел текст в первый эдит, во второй, нажал кнопочку)
Я конечно реализовал это простейшим передвижением курсора кликами, и нажатиями контрл+в
Но хотелось бы найти handlы всех необходимых элементов интерфейса а затем с ними соответсвенно взаимодействовать, так, чтобы все работало при свернутом окне java приложения.
Все, что я смог на данный момент это получить handle главного окна (сворачивать, разворачивать)
Пробовал spy++, но что-то мне подсказывает, что с java он не дружит.
Я первый раз пишу подобное приложение, поэтому прошу сильно не пинать, а направить и подсказать!
Спасибо!
PM MAIL   Вверх
JoKeR13
Дата 31.5.2012, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Актуально :(
PM MAIL   Вверх
Snowy
Дата 31.5.2012, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 30
Всего: 484



В java приложениях только одно окно и есть - главное.
Все элементы внутри него нарисованы и не существуют для внешней системы, как самостоятельные элементы.
Так что единственный способ управления - эмуляция нажатий клавиш и мыши.
PM MAIL   Вверх
JoKeR13
Дата 31.5.2012, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Спасибо так и думал, но надеялся, что есть другие варианты решения проблемы!
PM MAIL   Вверх
JoKeR13
Дата 31.5.2012, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



А есть ли варианты взаимодействия через оперативную память? Замена значений эдитов хранящихся в памяти, особенно это былобы хорошо еслибы вдруг адрес в памяти был постоянным и его не приходилось бы программно каждый раз находить.
Спасибо!
 smile    
PM MAIL   Вверх
Amp
Дата 31.5.2012, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Даже если бы ты узнал адрес. В Java работает сборщик мусора - в свете этого не ясно имеет ли смысл лезть в память процесса. Можно либо прочесть совершенно не то, либо записать не туда, уронив при этом JVM с приложением. А если вдруг звезды сошлись и ты удачно поменял значение, то контрол не узнает об этом до следующей перерисовки, а когда это произойдет - зависит уже от логики программы.
PM MAIL   Вверх
JoKeR13
Дата 1.6.2012, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



В общем оснований чтобы не попробовать не вижу, посему отпишусь о результатах, лучше так, чем кликать мышью!

Это сообщение отредактировал(а) JoKeR13 - 1.6.2012, 11:21
PM MAIL   Вверх
JoKeR13
Дата 4.6.2012, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Через память в принципе реализуемо, но возникают новые проблемы, посему решил все таки не изобретать велосипед :(( а так хотелось...
PM MAIL   Вверх
JoKeR13
Дата 4.6.2012, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Можно считать решенным
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0706 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.