Delphi FAQ

W jaki sposób otworzyć klienta pocztowego lub przeglądarkę internetową

Adam Boduch

Należy zastosować funkcję ShellExecute. Do listy modułów musisz dodać słowo ShellAPI. Kod:

ShellExecute(Handle, 'open', 'http://4programmers.net', nil, nil, SW_SHOWMAXIMIZED);

Przy okazji tego pytania omówię także konstrukcję funkcji ShellExecute. Pierwszy parametr to uchwyt okna (co to jest? Patrz: WinAPI) Kolejny parametr to znak, że chcesz skorzystać z funkcji open, następnie podajesz ścieżkę programu, adres strony, lub adres e-mail ( w postaci: mailto:adam@4programmers.net). Ostatnim parametrem jest sposób wyświetlenia okna:

Domyślne: SW_SHOWNORMAL
Zmaksymilizowane: SW_SHOWMAXIMIZED
Zminimalizowane: SW_SHOWMINIMIZED
Ukryte: SW_HIDE

Zobacz też:

FAQ

6 komentarzy

Hejka. Info raczej dla początkujących, ale... Trafiłem na problem z otwieraniem stron po wpisaniu adresu w sposób jak powyżej, nie zaczynajacego sie na 'www', tylko innym ciągiem znaków. Problem rozwiazalem wpisując przed adresem "http://", czyli
zamiast np:
ShellExecute(Handle, 'open', 'costam.costam.pl', nil, nil, SW_SHOWMAXIMIZED);
wpisać:
ShellExecute(Handle, 'open', 'http://costam.costam.pl', nil, nil, SW_SHOWMAXIMIZED);
Pozdrawiam

Adawo: O tym samym wspomniał na początku RobinMaster. Po za tym jak widzisz błąd, możesz poprawić, nie?

Wszystko OK ale jeden mały szczególik ale myśle że nie tylko ja zauważyłem: po ścieżce do strony brakuje " ' ", czyli powinno być:
ShellExecute(Handle, 'open', 'www.4programmers.net', nil, nil, SW_SHOWMAXIMIZED);
ale każdemu może sie zdażyć :P

MI TEŻ TO SAMO KuPa :P

A co mam zrobic jak mi wywala Error
Undeclared Indentifier: 'Handle'
??????????????????????????????????????
Pojecia niemam i to nie tylko tuatj bo wszedzie w kodze gdzie mam wpisane Handle to mi wywala Errora :(:(

ShellExecute(Handle, 'open', 'www.4programmers.net, nil, nil, SW_SHOWMAXIMIZED);
mały błędzik powinno być :
ShellExecute(Handle, 'open', 'www.4programmers.net', nil, nil, SW_SHOWMAXIMIZED);