Przejęcia pola Edit przeglądarki

0

Witam.
mam uchwyt okna przeglądarki lub innej aplikacji. Jak przejąć kontrolę nad którymś z pól edycyjnych umieszczonych na formie.

Help

0

.... może by ktoś rzeczowo odpowiedział na zadany problem ?? :)
Konkretnie chodzi o to jak wpisać w pole edycyjne jakiś tekst ?

0

FindWindowEx oraz SendMessage. Dość rzeczowo ? ;)

0

Co rozumiesz przez "przejąć kontrolę"? Bo jeżeli to, co ja myślę, czyli "podczepienie" się pod funkcję obsługi komunikatów obcego okna lub kontrolki - to można dokonać tego tylko funkcją SetWindowLong i GWL_WNDPROC jako drugi parametr. Więcej wyjaśnione jest na MSDNie. Z tym, że należy pamiętać iż takie podczepienie jest możłiwe tylko dla kontrolek działających w tym samym procesie. Także pozostaje albo injekcja dllki w ten program. I ona tego dokona (do rymu nawet ;)). Ewentualnie jeżeli program używa jakiejś dllki systemowej z małą ilością exportów lub na przykład ddraw.dll, to napisać mały wrapper, który wykorzysta tę własnośc, że dllki o systemowe są na ogół ładowane statycznie lub dynamicznie najpierw z katalogu programu, a dopiero później z systemowego. I wtedy będzie można bezkarnie ingerować w kontrolki danego procesu. Metody prób dostępu bezpośredniego mogą być słusznie zgłoszone przez niektóre antywisursy jako działanie szkodliwego orogramowania. Co do injekcji, to do procesu 32 bitowego pod Delphi 7 świetnie nadaje się moduł afxcodehook.pas. Więcej informacji na podane przeze mnie rozwiązania z pewnością da się wygooglować, trzeba tylko samodzielnie to zrobić.

1

dzisiejsze przeglądarki nie tworzą formularzy z natywnych kontrolek systemu operacyjnego, więc będzie problem.

0

który wykorzysta tę własność, że dllki o systemowe są na ogół ładowane statycznie lub dynamicznie najpierw z katalogu programu, a dopiero później z systemowego. I wtedy będzie można bezkarnie ingerować w kontrolki danego procesu.

.... czy mógłbyś mi coś więcej w tym zagadnieniu opisać

0

A co tutaj więcej pisać. Tworzysz dllke i eksportujesz pożądane funkcje tak aby zwracały to co wykonuje oryginalna dllka. Zaląażek tego masz pokazany w moim postcie pod tym linkiem Aplikacja wielowątkowa z dostępem do bazy z tym że autorzy emulatora, z którym tak kombinowałem poprawili w nim co trzeba w najnowszej becie. I w związku z tym takie kombinowanie jest zbędne. Do kodu źródłowego teraz dostępu nie mam, ale wystarczy wygooglować za kodem dllki dla Worms Armagedon, będącej takim wrapperem. Jest pisana w Delphi. Chociaż fakt, że wstrzymuje działanie explorera jest nieco lamerskie, ale często dość skuteczne.

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