2010-05-16 11 views
7

wiem w Delphi można otworzyć domyślną przeglądarkę z:otwarta domyślna przeglądarka ze stanowiskiem w Delphi

ShellExecute(self.WindowHandle,'open','www.website.com',nil,nil, SW_SHOWNORMAL); 

ale ja chce wiedzieć, czy istnieje sposób, aby automatycznie dodawać dane na nowy otwarty okienne Brower lub auto wypełnić dane logowania (nawet w Firefox, Safari, itp)

Dzięki

-Brad

Odpowiedz

4

można uruchomić przeglądarkę z OLE i użyj funkcji navigate, aby przekazać dane i kontekst do adresu URL.

Otwórz IE z OLE

MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; 

Wysyłanie danych do adresu

MyBrowser.Navigate('http://mysite.com', Flags, EmptyParam, PostData, Headers); 

Zobacz tutaj na przykład funkcji nawigacja: http://forums.devshed.com/showpost.php?p=2408145&postcount=2

Mam nadzieję, że to pomoże!

+0

Nie chcę tylko IE, ale to może być mój jedyny wybór. Dziękuję za informację. – Brad

2

Musisz dodać "Http: //" przed nazwą strony internetowej, inaczej system operacyjny nie wie, którą aplikację otworzyć.

ShellExecute (Application.Handle, 'open', 'http://www.bjmsoftware.com', zero, zero, SW_SHOWNORMAL);

działa dla mnie w aplikacji konsolowej.

+0

Prawidłowo, ale jego pytanie brzmiało, czy mógłby określić, jakie dane mają być POSTed lub jakie pola wypełnić. –

+0

@Lars, tak, zobaczyłem, że po naciśnięciu Enter i próbowałem usunąć własną odpowiedź, ale po prostu rejestruje "głosowanie na usuń "... –

2

Nie, nie można POST danych z adresu URL lub wypełnić pola za pomocą ShellExecute. Nie ma ogólnego interfejsu API, wszystkie przeglądarki muszą być zdalnie kontrolowane. Alternatywy używają GET (kodują w samym url) lub rozmawiają bezpośrednio z konkretnymi przeglądarkami, takimi jak TridenT suggests.

+0

Tak pomyślałem. Dzięki. – Brad

Powiązane problemy