Udostępnij za pośrednictwem


Określanie programów obsługi plików dla rozszerzeń nazw plików

Istnieje wiele sposobów określania aplikacji obsługującej plik, który ma określone rozszerzenie pliku. Czasowniki OpenWithList i OpenWithProgids to dwa sposoby określania procedur obsługi plików w wpisie rejestru dla rozszerzenia pliku.

Czasownik OpenWithList

Po kliknięciu prawym przyciskiem myszy pliku w Eksploratorze Windows zostanie wyświetlone polecenie Otwórz . Jeśli więcej niż jeden produkt jest skojarzony z rozszerzeniem, zobaczysz podmenu Otwórz za pomocą .

Aby otworzyć rozszerzenie, można zarejestrować różne aplikacje, ustawiając klucz OpenWithList dla rozszerzenia pliku w HKEY_CLASSES_ROOT. Aplikacje wymienione w tym kluczu dla rozszerzenia pliku są wyświetlane w nagłówku Zalecane programy w oknie dialogowym Otwórz za pomocą . W poniższym przykładzie pokazano aplikacje zarejestrowane w celu otwarcia rozszerzenia pliku vcproj.

HKEY_CLASSES_ROOT\
   .vcproj\
      (default)="VisualStudio.vcproj.14.0"
      OpenWithList\
         devenv.exe

Uwaga

Klucze określające aplikacje pochodzą z listy w obszarze HKEY_CLASSES_ROOT\Applications.

Dodając klucz OpenWithList, deklarujesz, że aplikacja obsługuje rozszerzenie pliku, nawet jeśli inna aplikacja przejmuje własność rozszerzenia. Może to być przyszła wersja aplikacji lub innej aplikacji.

Identyfikatory OpenWithProgID

Identyfikatory programowe (ProgID) to przyjazne wersje identyfikatorów Klasy, które identyfikują wersję aplikacji lub obiektu COM. Każdy obiekt współzawierszalny powinien mieć własny identyfikator ProgID. Na przykład program VisualStudio.DTE.7.1 uruchamia program Visual Studio .NET 2003, a program VisualStudio.DTE.10.0 uruchamia program Visual Studio. Jako właściciel typu projektu lub typu elementu projektu musisz utworzyć identyfikator ProgID specyficzny dla wersji dla rozszerzenia pliku. Te identyfikatory ProgID mogą być nadmiarowe w tym, że więcej niż jeden identyfikator progID może uruchomić tę samą aplikację. Aby uzyskać więcej informacji, zobacz Rejestrowanie czasowników dla rozszerzeń nazw plików.

Użyj następującej konwencji nazewnictwa dla identyfikatorów progID plików w wersji, aby uniknąć duplikowania rejestracji od innych dostawców:

Rozszerzenie pliku Identyfikator progów wersji
.rozszerzenie ProductName. extension.versionMajor.versionMinor

Możesz zarejestrować różne aplikacje, które mogą otworzyć określone rozszerzenie pliku, dodając wersjonowane identyfikatory ProgID jako wartości do klucza HKEY_CLASSES_ROOT\<extension>\OpenWithProgids. Ten klucz rejestru zawiera listę alternatywnych identyfikatorów ProgID skojarzonych z rozszerzeniem pliku. Aplikacje skojarzone z wymienionymi identyfikatorami ProgID są wyświetlane w podmenu Otwórz za pomocąnazwy produktu. Jeśli ta sama aplikacja jest określona w obu kluczach OpenWithList i OpenWithProgids , system operacyjny scala duplikaty.

Uwaga

Klucz OpenWithProgids jest obsługiwany tylko w systemie Windows XP. Ponieważ inne systemy operacyjne ignorują ten klucz, nie używaj go jako jedynej rejestracji w programach obsługi plików. Użyj tego klucza, aby zapewnić lepsze środowisko użytkownika w systemie Windows XP.

Dodaj żądane identyfikatory ProgID jako wartości typu REG_NONE. Poniższy kod zawiera przykład rejestrowania identyfikatorów ProgID dla rozszerzenia pliku (.ext).

HKEY_CLASSES_ROOT\
   .ext\
      (default)="MyProduct.ext.14.0"
      OpenWithProgids
         progid        REG_NONE (zero-length binary value)
         otherprogid   REG_NONE (zero-length binary value)

Identyfikator ProgID określony jako wartość domyślna rozszerzenia pliku jest domyślną procedurą obsługi plików. Jeśli zmodyfikujesz identyfikator ProgID rozszerzenia pliku dostarczonego z poprzednią wersją programu Visual Studio lub który może zostać przejęty przez inne aplikacje, musisz zarejestrować OpenWithProgids klucz rozszerzenia pliku i określić nowy identyfikator ProgID na liście wraz ze starszymi identyfikatorami ProgID, które obsługujesz. Na przykład:

HKEY_CLASSES_ROOT\
   .vcproj\
      (default)="VisualStudio.vcproj.14.0"
      OpenWithProgids
         vcprojfile              //old progid
         VisualStudio.vcproj.12.0 //old progid
         VisualStudio.vcproj.14.0 //new progid

Jeśli stary identyfikator progID zawiera skojarzone z nim czasowniki, te czasowniki będą również wyświetlane w obszarze Otwórz za pomocą nazwy produktu w menu skrótów.