Przesyłanie komunikatów z tekstem do przeglądarki www

0

Chcę wypełniać formularz na stronie www przy pomocy mojej aplikacji delphi używając komunikatów SendMessage(Uchwyt, WM_SETTEXT..........)

Pobrałem uchwyt okna przeglądarki, ale cóż z tego .
Jak tu wysłać komunikat z tekstem skoro okienka tekstowe nie mają osobnego uchwytu , więc nie da się adresować do konkretnego tylko do przeglądarki w ogóle.

Jaki jest na to sposób??

0

Niemożliwe,strony otwierane w przeglądarce nie mają kontrolek do których mógłbyś wysyłać komunikaty (no jedynie mógłbyś wysyłać komunikaty naciśnięcia klawisza ale dane pole formularza musiałoby być aktywne).
Napisz co chcesz konkretnie zrobić może jest na to inny sposób, no iczy musisz koniecznie korzystać z zewnętrznej przeglądarki?

0

Z przeglądarką IE można komunikować się przez COM Automation. Zapytaj googla o "InternetExplorer.Application automation post"

0

Ale w tym nie chodzi o otwartą przeglądarkę a o (w uproszczeniu) coś w stylu użycia TWebBrowser.

0

No w WebBrowser wszystkie pola (z wyjątkiem pola typu file) można bez problemu uzupełnić programowo. Można też wysłać dane POST (łącznie z plikiem którego nie da się wysłać wypełniając formularz programowo) nie wypełniając pól formularza za pomocą metody Navigate ale autorowi raczej chodzi o to zwykła przeglądarkę.

0

Jak o zwykłą przeglądarkę chodzi to o ile nie istnieje jakiś prosty sposób na przesyłanie całych ciągów za pomocą SendMessage czy PostMessage, to zawsze można aktywować okno przeglądarki, a następnie zasymulować wciskanie klawiszy. Samą symulację wciskania klawiszy można zrealizować za pomocą keybd_event lub SendInput. Przechodzenie do kolejnych pól to symulacja wciskania klawisza Tab, a wciśnięcie przycisku wysyłającego dane to jego sfokusowanie i klawisz Enter.

Nie będzie to rozwiązanie idealne, jednak jest duża szansa, że będzie działać na różnych przeglądarkach. Przy czym traktowałbym to rozwiązanie jako awaryjne.

0

Właśnie rozwiązałem (częściowo) problem stosując Symulację naciśnięć klawiszy.
Nie do końca mnie to zadowala bo np już znaków których nie ma na klawiaturze trudniej przesłać (a i roboty z napisaniem kodu jest sporo) , np. znaki dla innych niż Polski języków.
SendMessage byłoby idealne ale skoro się nie da to cóż, trzeba się zadowolić tym co się da.

0

Jeśli chcesz wygodniej operować na polach edycyjnych – zrezygnuj z przesyłania danych do okna przeglądarki na rzecz kontrolki WebBrowser. A jeśli nie chcesz lub nie możesz tego zrobić to cóż, ja nie znam lepszego rozwiązania niż symulacja wciskania klawiszy.

0
furious programming napisał(a):

Jeśli chcesz wygodniej operować na polach edycyjnych – zrezygnuj z przesyłania danych do okna przeglądarki na rzecz kontrolki WebBrowser. A jeśli nie chcesz lub nie możesz tego zrobić to cóż, ja nie znam lepszego rozwiązania niż symulacja wciskania klawiszy.

No dobrze przypuśćmy że będę wyświetlał strony www w WebBrowser-ze to czy:
1-WebBrowser zapewnia wystarczające bezpieczeństwo w sieci?
2-Czy pola tekstowe stron www które w zewnętrznej przeglądarce nie posiadają uchwytu , w WebBrowser będą miały
uchwyt?

0
abrakadaber napisał(a):
  1. bezpieczeństwo czego?
  2. nie, ale można się do nich dostać inaczej http://www.cryer.co.uk/brian/delphi/twebbrowser/read_write_form_elements.htm https://www.thoughtco.com/manipulate-web-forms-using-the-twebbrowser-1058362

Bezpieczeństwo czego?- mojego komputera; WebBrowser przecież łączy się z siecią NET a więc może narazić na atak z internetu jeśli ma słabe zabezpieczenia.

1

WebBrowser ma identyczne zabezpieczenia jak Internet Explorer zainstalowany na danym komputerze i jeżeli jest aktualizowany wbrew starym powiedzeniom normalnie służy do przeglądania internetu a nie Twojego komputera z internetu (jeżeli chodzi o ataki hakerskie). Poza tym jeżeli chodzi o bezpieczeństwo to raczej w 100% nie polegałbym na żadnej przeglądarce.

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