INFO: Uruchamianie domyślnej przeglądarki sieci Web za pomocą interfejsu API ShellExecute

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 224816 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Ten artykuł zawiera informacje ogólne o tym, jak zarejestrować domyślną przeglądarkę sieci Web, a następnie uruchamiać ją za pomocą interfejsu API ShellExecute. Ponadto zawarte są w nim szczegółowe informacje o tym, jak interfejs ShellExecute sprawia, że program Microsoft Internet Explorer lokalizuje adres URL.

Więcej informacji

Określanie domyślnej przeglądarki sieci Web

Domyślnie program Microsoft Internet Explorer przy każdym uruchamianiu sprawdza, czy jest domyślną przeglądarką sieci Web. Jeśli w momencie, gdy program Internet Explorer jest uruchamiany, pliki dokumentów internetowych (HTML) są skojarzone z inną przeglądarką, program Internet Explorer rozpoznaje, że nie jest przeglądarką domyślną, i monituje o ustawienie go jako przeglądarki domyślnej.

Jeśli w programie Internet Explorer i w nowszych wersjach programu Netscape zostanie wybrana opcja Ustaw jako przeglądarkę domyślną, przeglądarka rejestruje się we wszystkich następujących kluczach, stając się przeglądarką domyślną (oprócz innych wpisów, które są dokonywane). HKEY_CLASSES_ROOT\.htm HKEY_CLASSES_ROOT\.html HKEY_CLASSES_ROOT\http\shell\open\command HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application HKEY_CLASSES_ROOT\ftp\shell\open\command HKEY_CLASSES_ROOT\ftp\shell\open\ddeexec\Application HKEY_CLASSES_ROOT\gopher\shell\open\command HKEY_CLASSES_ROOT\gopher\shell\open\ddeexec\Application


Uruchamianie domyślnej przeglądarki sieci Web z aplikacji

Wywołaj interfejs API ShellExecute i przekaż mu adres URL. To jest najłatwiejsza metoda uruchamiania domyślnej przeglądarki sieci Web z aplikacji. Jeśli domyślna przeglądarka sieci Web jest aktualnie uruchomiona, interfejs API ShellExecute nakazuje uruchomionemu przez siebie wystąpieniu przejście do danego adresu URL. Jeśli przeglądarka nie jest uruchomiona, interfejs API ShellExecute uruchamia aplikację i przechodzi do danego adresu URL.

Jeśli aplikacja została napisana w programie Microsoft Visual C++, wywoływanie interfejsu ShellExecute jest opisane następującym kodem.
LONG r = ShellExecute(NULL, "open", "http://www.microsoft.com", NULL, NULL, SW_SHOWNORMAL);
				
W programie Microsoft Visual Basic należy wstawić do projektu deklarację interfejsu ShellExecute. Deklarację tę można znaleźć w pliku Win32api.txt znajdującym się w podfolderze instalacji programu Microsoft Visual Studio. Opcjonalnie można skopiować ją z narzędzia API Text Viewer dołączonego do programu Visual Studio 6.0.

Aby wstawić interfejs API ShellExecute do projektu, wykonaj następujące kroki:
  1. Utwórz nowy projekt w programie Visual Basic.
  2. Wybierz opcję EXE standardowy.
  3. Dodaj przycisk do formularza.
  4. Wstaw następujący kod do formularza:
    Private Declare Function ShellExecute _
                                Lib "shell32.dll" _
                                Alias "ShellExecuteA"( _
                                ByVal hwnd As Long, _
                                ByVal lpOperation As String, _
                                ByVal lpFile As String, _
                                ByVal lpParameters As String, _
                                ByVal lpDirectory As String, _
                                ByVal nShowCmd As Long) _
                                As Long
    
    Private Sub Command1_Click()
       Dim r As Long
       r = ShellExecute(0, "open", "http://www.microsoft.com", 0, 0, 1)
    End Sub
    						
  5. Uruchom projekt, a następnie kliknij przycisk, aby przejść do wymaganego adresu URL w domyślnej przeglądarce sieci Web.
Interfejs API ShellExecute jest obsługiwany w systemach Microsoft Windows 95 i Microsoft Windows NT 3.1 oraz nowszych. Za pomocą interfejsu API ShellExecute można uaktywnić domyślną przeglądarkę sieci Web we wszystkich wersjach Win32 programu Microsoft Internet Explorer od wersji 1.0 wzwyż. Technika ta nie jest obsługiwana w systemie Microsoft Windows 3.x ani na platformach UNIX i MacIntosh.

Jak działa interfejs API ShellExecute

Poniższy opis przedstawiono jedynie do celów informacyjnych, aby czytający mogli się lepiej zorientować, jak ich aplikacja współdziała z systemem operacyjnym. Nie należy jednak tworzyć własnych projektów tylko na podstawie wniosków wyciągniętych z tych informacji. Należy mieć na uwadze, że w przyszłości działanie tej funkcji może zostać zmienione w nowych wersjach produktów firmy Microsoft.

Jak interfejs API ShellExecute interpretuje przekazany adres URL

Interfejs API ShellExecute analizuje przekazany mu ciąg, dzięki czemu interfejs API ShellExecute może wyodrębnić specyfikator protokołu lub rozszerzenie. Następnie interfejs API ShellExecute wyszukuje w rejestrze i wykorzystuje specyfikator protokołu lub rozszerzenie w celu określenia, która aplikacja ma zostać uruchomiona. Jeśli do interfejsu API ShellExecute zostanie przekazany ciąg http://www.microsoft.com, interfejs ShellExecute rozpoznaje podciąg http:// jako protokół, co powoduje, że sprawdza w kluczu
HKEY_CLASSES_ROOT\http\shell\open
, jak uruchomić aplikację. Jeśli do interfejsu API ShellExecute zostanie przekazany ciąg plik.htm, interfejs API ShellExecute rozpoznaje podciąg „.htm” jako rozszerzenie. Powoduje to, że interfejs API ShellExecute sprawdza klucz
HKEY_CLASSES_ROOT\.htm
, który prowadzi do klucza
HKEY_CLASSES_ROOT\htmlfile\shell\open
.

Zazwyczaj najlepiej jest w ciągu przekazywanym interfejsowi API ShellExecute określić pełny adres URL, na przykład http://www.microsoft.com, a nie www.microsoft.com. Jeśli określony jest cały adres URL, wiadomo na pewno, że interfejs API ShellExecute dobrze rozpozna żądany protokół. Interfejs API ShellExecute rozpoznaje jednak domyślnie pewne wzorce, do których należą między innymi www.* i ftp.*, a następnie mapuje je odpowiednio na protokół HTTP i FTP.

Jak interfejs ShellExecute określa, czy uruchomić nowe wystąpienie

Gdy interfejs API ShellExecute przeszukuje rejestr, szuka podklucza
shell\open
. Jeśli jest zdefiniowany klucz
shell\open\ddeexec
, wówczas do wszystkich okien najwyższego poziomu na pulpicie jest emitowany komunikat DDE (Dynamic Data Exchange) z określoną aplikacją IExplore oraz tematem WWW_OpenURL. Aplikacja, która jako pierwsza odpowie na ten komunikat, jest aplikacją, która przechodzi do żądanego adresu URL. Jeśli żadna aplikacja nie odpowie na ten komunikat DDE, interfejs API ShellExecute uruchamia aplikację na podstawie informacji zawartych w podkluczu
shell\open\command
. Następnie ponownie emituje komunikat DDE do żądanego adresu URL.

Materiały referencyjne

Aby uzyskać dodatkowe informacje o domyślnej przeglądarce sieci Web, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
153774 Program Internet Explorer nie jest konfigurowany jako przeglądarka domyślna
Produkty omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie daje żadnych gwarancji, domyślnych ani żadnego innego rodzaju, odnośnie do wydajności lub niezawodności tych produktów.

Właściwości

Numer ID artykułu: 224816 - Ostatnia weryfikacja: 4 września 2003 - Weryfikacja: 2.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 (128-bitowy)
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer (programowanie) 5.01 z dodatkiem SP1
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (programowanie) 5.5 z dodatkiem SP1
  • Microsoft Internet Explorer (programowanie) 5.5 z dodatkiem SP2
  • Microsoft Internet Explorer (programowanie) 6 z dodatkiem SP1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
Słowa kluczowe: 
kbinfo kbwebbrowser KB224816

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com