Przekazanie wartości tekstowej do pola tekstowego w zewnętrznej aplikacji webowej

0

Witajcie,

Temat jest dość mocno skomplikowany dlatego postaram się go wyjaśnić najdokładniej jak umiem ale gdybyście mieli wątpliwości to piszcie.
Zasadniczo każdy obiekt z dowolnej aplikacji desktopowej na windowsie posiada unikatowy uchwyt. Za pomocą pewnych metod z Windows API można pobrać sobie w swojej aplikacji (w moim przypadku w Delphi) ten uchwyt, a następnie za pomocą SENDMESSAGE przesłać odpowiedni message do obiektu w zewnętrznej aplikacji (przydaje się gdy np chcemy odszarzyć wyszarzony przycisk np w jakimś programie - np ograniczony licencją). Zasadniczo cały ten proces działa całkiem sprawnie w windowsie i jedyny problem to pobranie uchwytu.

Mój problem polega na tym, że muszęprzekazać odpowiednią wartość tekstową (string) z mojej aplikacji do edita w innej aplikacji. Nie było by w tym nic trudnego gdyby nie fakt, że ów edit znajduje się w aplecie JAVY na stronie internetowej. Przyjmując nawet optymistyczną wersję, że przeglądarka jest otwarta, załadowana jest strona i uruchomiony dany aplet (edit jest widoczny i dostępny) to za choinkę nie wiem jak się dostać do uchwytu tego edita.

Czy ma ktoś pomysł jak przekazać wartość tekstową do takiego edita? Od razu mówię, że w kodzie strony jest jedynie wywołanie apletu bez żadnych konkretnych identyfikatorów.

0

Tego nie wiem niestety, może ktoś coś jeszcze doradzi. Jednak jeżeli kontrolka nie posiada własnego uchwytu to SendMessage się nie powiedzie. Na przykład Opera ma wszystkie kontrolki pod jednym uchwytem i tą samą klasą. Pewnie i ze względów bezpieczeństwa. Można jedynie spróbować zmienić pamięc procesu, ale czy to wpłynie na pojawienie się nowego tekstu w jakimś polu tego nie wiem. Trzeba by ustalić gdzie jest w pamięci wpisany na próbę tekst, pod jakimiś toolsami typu CheatEngine i spróbować go podmienić. Jednak często się może nie odświeżyć. Więcej pomysłow nie mam.

0

Też nad tym myślałem ale zasadniczo JAVA w moim odczuciu to taki mały potwór pamięciowy i grzebanie w pamięci tego procesu czasami przypomina szukanie igły w stogu siana. Jak nic innego nie wymyśle to spróbuję ale mam jeszcze jeden pomysł może też się zweryfikujecie czy to dobre rozwiązanie. Mogę wywołać sekwencję ruchów myszką aby ustawiła focus w tym konkretnym edicie (rozmiar jest ten sam zawsze bo to fullscreen na tablecie 10 calowym więc i pozycja edita nigdy się nie zmieni), a następnie jestem w stanie wywołać zdarzenie kliknięcia klawisza co zasymulowałoby ręczne wpisanie tego tekstu. Co o tym myślicie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1