Przechwytywanie danych z innego programu

0

Witam!
Mam dwa programy jeden napisany przeze mnie drugi zupełnie inny. I teraz potrzebuje uzyskać następujące informacje. Jeśli ktoś kliknie myszką w konkretne pole Edit (np. Edit1) i naciśnie powiedzmy F6 to u mnie zostanie wywołana jakaś tam procedura. Najważniejsze to jak przechwycić że kursor znajduje się nad tym polem bo uchwyt do klasy mam, tylko jak sprawdzić czy to akurat ten EDIT który mnie interesuje.
Proszę o jakieś wskazówki. Z góry dzięki.

0

czekaj, nie wiem, czy dobrze zrozumialem...
ten edit jest w innyp programie, tak?
i chcesz sprawdzic, w jakim edicie wlasnie mruga kursor klawiatury...?

no bo jesli chcesz handle aktywnego edita to:
windows.GetFocus
a jak edita, nad ktorym znajduje sie kursor myszy, to:
WindowFromPoint();

0

dokładnie. ort! że jest program który posiada 10 komponentów Edit. Mój programik działa sobie w tle i w ort! gdy ktoś kliknie myszką na komponent Edit5(i tylko na ten inne mają być nie brane pod uwagę) tamtego programu i naciśnie powiedzmy F5 mój program wywołuje jakąś tam funkcję. Chciałem założyć Hooka na ort! i to faktycznie wykrywa mi naciśnięcie klawisza F5 ale jak wykryć czy kursor znajduje się w polu Edit5?? Dodam że nie posiadam nazwy tego komponentu. <ort>na pewno</ort> jest typu TEdit ale nazwy nie potrafię pobrać.

0

hmm... no, tzn nie wiem.. bo windows.getfocus zwroci Ci uchwyt tego edita.
ale nie wiem, czy to Cie urzadza...

a co chcesz z tym dalej zrobic?

0

Potrzebuje odczytać tekst z tego komponentu, znalazłem gdzieś kod jak odczytać tekst spod gwiazdek, i na bazie tego działam ale ten kod odczytuje tekst z komponentu nad którym aktualnie znajduje się kursor, a ja potrzebuje to zrobić wtedy gdy kursor znajduje się w podanym przeze mnie Edicie i został wciśnięty klawisz F5. Wiem jak wykryć naciśnięcie klawisza, wiem jak odczytać tekst z edita nad którym znajduje się kursor ale jak odczytywać tekst z konkretnego komponentu nie znając jego nazwy?? Lub ewentualnie mając nazwę takiego komponentu da się to zrobić??

0
puchi napisał(a)

Potrzebuje odczytać tekst z tego komponentu, znalazłem gdzieś kod jak odczytać tekst spod gwiazdek, i na bazie tego działam ale ten kod odczytuje tekst z komponentu nad którym aktualnie znajduje się kursor, a ja potrzebuje to zrobić wtedy gdy kursor znajduje się w podanym przeze mnie Edicie i został wciśnięty klawisz F5. Wiem jak wykryć naciśnięcie klawisza, wiem jak odczytać tekst z edita nad którym znajduje się kursor ale jak odczytywać tekst z konkretnego komponentu nie znając jego nazwy?? Lub ewentualnie mając nazwę takiego komponentu da się to zrobić??

Jeszcze jeden domorosły włamywacz. Dalej jazda stąd...

0

żaden włamywacz po prostu to ułatwi mi pracę. Zamiast za każdym razem przepisywać ten tekst do innego programu wykrywał bym to automatycznie. Nie mam zamiaru kraść żadnych danych chodzi mi tylko o przyśpieszenie mojej pracy, zresztą wiem co się tam znajduje a po zatym mam wgląd do bazy danych tego programu wiec chyba źle mnie rozumiesz. Chodzi tylko o przeniesienie danych z jednego programu do drugiego automatycznie a nie ręcznie za każdym razem.

0
puchi napisał(a)

żaden włamywacz po prostu to ułatwi mi pracę. Zamiast za każdym razem przepisywać ten tekst do innego programu wykrywał bym to automatycznie. Nie mam zamiaru kraść żadnych danych chodzi mi tylko o przyśpieszenie mojej pracy, zresztą wiem co się tam znajduje a po zatym mam wgląd do bazy danych tego programu wiec chyba źle mnie rozumiesz. Chodzi tylko o przeniesienie danych z jednego programu do drugiego automatycznie a nie ręcznie za każdym razem.

no to jak chcesz odczytac to potrebujesz uchwyt (handle);
tak jak napisalem windows.GetFocus zwroci Ci handle aktywnego edita.
ale zeby nie pomylic danych, to w procedurze wywolywanej po nacisnieciu tego F6 musisz sprawdzic, czy np aktywnym oknem jest okno tej drugiej aplikacji (najlepiej uzyc GetActiveWindow)...
albo sprawdzic czy edit jest na pewno 5tym a nie 6tym editem mozesz pobrac jego pozycje wzgledem formy na ktorej sie znajduje (GetWindowRect czy cos takiego)...

hmm... nie wiem, moze sie myle (jak by co to mnie poprawic!) ale tego typu kontrolki maja jakies swoje niezmienne id... ale czy na pewno i jak to odczytac to nie wiem...
ale jesli tak jest to wtedy wystarczy sprawdzic czy id sie zgadza...

pozdrawiam
cimak

0

sprawdzę to co napisałeś i zobaczymy czy coś da. Co do tego id to ja też nie mam pojęcia czy coś takiego jest ale gdyby tak było to faktycznie było by o wiele prościej

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